| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Correctly generate the feedback URL for remote share
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The trailing slash was added in c78e3c4a7fa1d2f474ab58551e67a50e093f6ed8
to correctly generate the encryption keys
|
|\ \
| | |
| | | |
Password set via OCS API should not be double escaped
|
| | | |
|
| |/
|/|
| |
| | |
We don't want to have users misusing this API resulting in a potential file disclosure of "avatar.(jpg|png)" files.
|
|\ \
| | |
| | | |
Propagate etags across shared storages
|
| | |
| | |
| | |
| | | |
use post hooks for share etag propagator
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
fix several issues with doc blocks on share.php
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Fix several type(hint) errors in private/helper.php
|
| | | |
|
|\ \ \
| | | |
| | | | |
Adjust isLocal() on encryption wrapper
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
[encryption] handle encrypted files correctly which where encrypted with a old version of ownCloud (<=oc6)
|
| | |
| | |
| | |
| | | |
encrypted file without a header
|
|\ \ \
| |_|/
|/| | |
Fix type annotation
|
| |/
| |
| |
| | |
Obviously should be an int
|
|\ \
| | |
| | | |
Improve error messge text for app upgrade try (#15375)
|
| | | |
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | | |
Fix collision on temporary files + adjust permissions
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changeset hardens the temporary file and directory creation to address multiple problems that may lead to exposure of files to other users, data loss or other unexpected behaviour that is impossible to debug.
**[CWE-668: Exposure of Resource to Wrong Sphere](https://cwe.mitre.org/data/definitions/668.html)**
The temporary file and folder handling as implemented in ownCloud is performed using a MD5 hash over `time()` concatenated with `rand()`. This is insufficiently and leads to the following security problems:
The generated filename could already be used by another user. It is not verified whether the file is already used and thus temporary files might be used for another user as well resulting in all possible stuff such as "user has file of other user".
Effectively this leaves us with:
1. A timestamp based on seconds (no entropy at all)
2. `rand()` which returns usually a number between 0 and 2,147,483,647
Considering the birthday paradox and that we use this method quite often (especially when handling external storage) this is quite error prone and needs to get addressed.
This behaviour has been fixed by using `tempnam` instead for single temporary files. For creating temporary directories an additional postfix will be appended, the solution is for directories still not absolutely bulletproof but the best I can think about at the moment. Improvement suggestions are welcome.
**[CWE-378: Creation of Temporary File With Insecure Permissions](https://cwe.mitre.org/data/definitions/378.html)**
Files were created using `touch()` which defaults to a permission of 0644. Thus other users on the machine may read potentially sensitive information as `/tmp/` is world-readable. However, ownCloud always encourages users to use a dedicated machine to run the ownCloud instance and thus this is no a high severe issue. Permissions have been adjusted to 0600.
**[CWE-379: Creation of Temporary File in Directory with Incorrect Permissions](https://cwe.mitre.org/data/definitions/379.html)**
Files were created using `mkdir()` which defaults to a permission of 0777. Thus other users on the machine may read potentially sensitive information as `/tmp/` is world-readable. However, ownCloud always encourages users to use a dedicated machine to run the ownCloud instance and thus this is no a high severe issue. Permissions have been adjusted to 0700.Please enter the commit message for your changes.
|
|\ \ \
| | | |
| | | | |
Block old legacy clients
|
| | | |
| | | |
| | | |
| | | | |
In case of an not sent UA header consider the client as valid
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This Pull Request introduces a SabreDAV plugin that will block all older clients than 1.6.1 to connect and sync with the ownCloud instance.
This has multiple reasons:
1. Old ownCloud client versions before 1.6.0 are not properly working with sticky cookies for load balancers and thus generating sessions en masse
2. Old ownCloud client versions tend to be horrible buggy
In some cases we had in 80minutes about 10'000 sessions created by a single user. While this change set does not really "fix" the problem as 3rdparty legacy clients are affected as well, it is a good work-around and hopefully should force users to update their client
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
When moving back the pointer to position 0 (using stream_seek), the pointer on the encrypted stream will be moved to the position immediately after the header. Reading the header again (invoked by stream_read) will cause an error, writing the header again (invoked by stream_write) will corrupt the file. Reading/writing the header should therefore happen when opening the file rather than upon read or write. Note that a side-effect of this PR is that empty files will still get an encryption header; I think that is OK, but it is different from how it was originally implemented.
|
|\ \ \ \
| | | | |
| | | | | |
[encryption] fix moving files to a shared folder
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |/ /
| |/| | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
dont allow using null as view root
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix enc folder move
|
| | | | |
|