Homec4science

Don't require POST to download LFS files from main domain

Authored by epriestley <git@epriestley.com> on Apr 7 2016, 17:45.

Description

Don't require POST to download LFS files from main domain

Summary:
Ref T7789. If you don't have security.alternate-file-domain configured, we won't serve binary files over GET.

This is a security measure intended to prevent <applet src="..." /> attacks and similar, where you upload some "dangerous" binary, include it in another page, and it gets some of the host's permissions because Java/Flash security models are (or were, in the past) goofy.

Allow them to be served over GET if the client is Git LFS. This is safe; these attacks can't add arbitrary HTTP headers.

Test Plan:
Fetched files over GET with and without the LFS header.

$ curl -v http://local.phacility.com/file/data/@local/jfht2cxjazi5cmjomfhl/PHID-FILE-sa7mh2pfaocz2adiimeh/netgear_rma.pdf > /dev/null
...
HTTP 302 Redirect
...
$ curl -v -H 'X-Phabricator-Request-Type: git-lfs' http://localcontent.phacility.com/file/data/@local/jfht2cxjazi5cmjomfhl/PHID-FILE-sa7mh2pfaocz2adiimeh/netgear_rma.pdf > /dev/null
...
HTTP 200 Content
...

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T7789

Differential Revision: https://secure.phabricator.com/D15654

Details

Committed
epriestley <git@epriestley.com>Apr 7 2016, 17:55
Pushed
aubortJan 31 2017, 17:16
Parents
rPH27104b57c827: Account for raw limits properly in CalendarEventQuery
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH37b93f426225: Don't require POST to download LFS files from main domain (authored by epriestley <git@epriestley.com>).Apr 7 2016, 17:55