You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Files on subsite specific folders will overwrite other files that already exists in the folder, when in use on another subsite.
Steps to reproduce:
Create two subsites: subsite A and subsite B
Switch to subsite A
In the Assets-section create an Uploads folder for subsite A (select this in Permission-dropdown)
Navigate to folder (observe this is ID 1)
Upload an image of a cat in the Uploads folder named animal.jpg
Publish the image
Go to the file system and check the image in public\assets\Uploads (probably a cat)
Switch to subsite B
In the Assets-section create an Uploads folder for subsite B (select this in Permission-dropdown)
Navigate to folder (observe this is ID 3 - different then subsite A folder A)
Upload an image of a dog in the Uploads folder named animal.jpg
Publish the image
Go to the file system and check the image in public\assets\Uploads (spoiler: a dog!)
Switch back to subsite A
see the file of the cat cannot be found
So the database and protected assets do not have a problem with images with the same name + folder. But once the are being published, the file is overwitten without warning. And information is being leaked from one subsite to another.
The text was updated successfully, but these errors were encountered:
I guess the proper solution here would be a subsites-aware flysystem adapter of sorts, reflecting the subsite in the public file URL, or a handler that would serve the file dynamically by PHP based on the current subsite, without exposing the file directly from the filesystem itself.
No matter what, this seems very severe, the bottom line here is the CMS should not allow users to created folders/files with the same file path across different subsites / main site, because in the file system there is only one location for such folders/files to sit on. Could anyone from the core team on this, please?
Some of our clients are currently suffering from this problem.
An alternative solution/fix may be to remove the Subsites extension from File altogether (depending on use-case).
# Remove subsites from File as it tends to be confusing to authors (and may produce filename collisions)SilverStripe\Assets\File::remove_extension(SilverStripe\Subsites\Extensions\FileSubsites::class);
Files on subsite specific folders will overwrite other files that already exists in the folder, when in use on another subsite.
Steps to reproduce:
public\assets\Uploads
(probably a cat)public\assets\Uploads
(spoiler: a dog!)So the database and protected assets do not have a problem with images with the same name + folder. But once the are being published, the file is overwitten without warning. And information is being leaked from one subsite to another.
The text was updated successfully, but these errors were encountered: