download_strategy: add comment about Content-Disposition handling

This commit is contained in:
Bo Anderson 2021-03-01 13:59:05 +00:00
parent 9d2ee344f6
commit d330e915d1
No known key found for this signature in database
GPG Key ID: 3DB94E204E137D65

View File

@ -458,6 +458,9 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
filename = URI.decode_www_form_component(encoded_filename).encode(encoding) if encoding && encoded_filename
end
# Servers may include '/' in their Content-Disposition filename header. Take only the basename of this, because:
# - Unpacking code assumes this is a single file - not something living in a subdirectory.
# - Directory traversal attacks are possible without limiting this to just the basename.
(filename || content_disposition.filename).rpartition("/")[-1]
end