Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 567758 (CVE-2015-7519) - <www-apache/passenger-{4.0.60,5.0.22}: header overwriting (CVE-2015-7519)
Summary: <www-apache/passenger-{4.0.60,5.0.22}: header overwriting (CVE-2015-7519)
Status: RESOLVED FIXED
Alias: CVE-2015-7519
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Security
URL: https://blog.phusion.nl/2015/12/07/cv...
Whiteboard: B3 [noglsa/cve]
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-08 07:05 UTC by Hans de Graaff
Modified: 2015-12-21 18:19 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hans de Graaff gentoo-dev Security 2015-12-08 07:05:52 UTC
It was discovered by the SUSE security team that it was possible, in some cases, for clients to overwrite headers set by the server, resulting in a medium level security issue. CVE-2015-7519 has been assigned to this issue. See also the SUSE issue report.

Affected use-cases

Header overwriting may occur if all of the following conditions are met:

Apache integration mode, or standalone+builtin engine without a filtering proxy
Ruby or Python applications only (Passenger 5); or any application (Passenger 4)
The app depends on a request header containing a dash (-)
The header is supposed to be trusted (set by the server)
The client correctly guesses the header name
The issue is that internally, Passenger 5 uses an SCGI-inspired format to pass headers to Ruby/Python applications, while Passenger 4 uses an SCGI-inspired format to pass headers to all applications. This implies a conversion to UPPER_CASE_WITH_UNDERSCORES whereby the difference between characters like "-" and "_" is lost. An example of an attack:

User Mallory guesses that internally, X-User is used as an authentication header
Mallory sends a request with X_User: Bob, X-Token: ValidMallory
Apache sees a valid X-Auth-Token, adds authentication header X-User: Mallory, lets the request through
Passenger converts X-User: Bob and X_User: Mallory to X_USER: Bob, X_USER: Mallory
The headers collide and the application might see X_USER: Bob and assume Bob was authenticated
Fixed in Passenger 5.0.22, 4.0.60
Comment 1 Hans de Graaff gentoo-dev Security 2015-12-08 07:15:03 UTC
passenger 4.0.60 and 5.0.22 are now in the tree.
Comment 2 Hans de Graaff gentoo-dev Security 2015-12-08 07:16:59 UTC
Please test and mark stable:

=dev-ruby/daemon_controller-1.2.0-r1
=www-apache/passenger-4.0.60
Comment 3 Agostino Sarubbo gentoo-dev 2015-12-09 11:43:42 UTC
amd64 stable
Comment 4 Agostino Sarubbo gentoo-dev 2015-12-09 11:44:12 UTC
x86 stable.

Maintainer(s), please cleanup.
Security, please vote.
Comment 5 Hans de Graaff gentoo-dev Security 2015-12-13 07:54:38 UTC
Cleanup done.
Comment 6 Yury German Gentoo Infrastructure gentoo-dev 2015-12-21 18:19:52 UTC
Arches and Maintainer(s), Thank you for your work.

GLSA Vote: No
Thank you all. Closing as noglsa.