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:

  1. 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.
  2. Use a non-guessable URL.

Comments

AdamPS created an issue. See original summary.

graber’s picture

Priority: Critical » Major
Status: Active » Needs work

Hi, 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.

adamps’s picture

Thanks 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.

graber’s picture

Priority: Major » Normal

I 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.

adamps’s picture

Great, thanks

graber’s picture

Status: Needs work » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

graber’s picture