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
With a pentest we just discovered a big security with using this package behind a CDN.
If you want to download the log file, it will do so on a url which looks like this: my-site.example/nova-vendor/KABBOUCHI/logs-tool/logs/laravel.log?time=1660030658425.
I don't know if this is a default behaviour of the download helper in response(), but the Cache-Control header is set to public for the log file.
When using a CDN (Akamai in our usecase), this means the CDN will cache the file and after a first request, the log file is available without security checks!
Please add something like the following to the response:
Without the setPrivate(), the response will have Cache-Control: no-store, public, which is not strictly a problem (with conflicting directives it will choose the most secure one), but in my opinion Cache-Control: no-store, private looks a bit better.
Hi all,
With a pentest we just discovered a big security with using this package behind a CDN.
If you want to download the log file, it will do so on a url which looks like this:
my-site.example/nova-vendor/KABBOUCHI/logs-tool/logs/laravel.log?time=1660030658425
.This will call the following controller method:
I don't know if this is a default behaviour of the download helper in
response()
, but the Cache-Control header is set to public for the log file.When using a CDN (Akamai in our usecase), this means the CDN will cache the file and after a first request, the log file is available without security checks!
Please add something like the following to the response:
The text was updated successfully, but these errors were encountered: