After running the VBO action a message like this is displayed
Export file generated. Click here to download, link will expire in 3 hours.
The linked URL seems to have no access protection - I switched to a new "Private Browsing" window and could still download it. This means that an attacker could access data from a view that is private and protected by permissions.
The issue is mitigated by the fact that the attacker would have to guess the URL. However the URL follows a predictable pattern distinguished by the view name and current minute. The view name could easily be well-known if it comes from a module, so the attacker could attempt to download every minute.
Possible solutions:
- Apply access restrictions for the download link that copy the access restriction of the view. I haven't checked if this is feasible - of course would need to take into account all the possible access hook mechanisms.
- Use a non-guessable URL.
Comments
Comment #2
graber commentedHi, yes, that is an issue. The module uses the site default file system, so if you switch to private filesystem, the generated export files will not be accessible to the public, but I agree this should be done by customized files upload.
Needs work.
Comment #3
adamps commentedThanks for a swift response.
Your suggested workaround "switch to use private file system by default" is an interesting idea that might help some users. However I expect that on many sites it is not an option - for example presumably there would be a substantial performance penalty.
Comment #4
graber commentedI added uniqid as a part of the filename. It's the fastest solution so it'll do for now, but ultimately the module should use private file system (if defined) and custom file serving.
Comment #5
adamps commentedGreat, thanks
Comment #6
graber commentedComment #8
graber commented