CVE-2015-7519: Phusion Passenger allows remote attackers to spoof headers
3.7
CVSS Score
3.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.56002%
CWE
Published
10/10/2018
Updated
7/5/2023
KEV Status
No
Technology
Ruby
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
passenger | rubygems | < 4.0.60 | 4.0.60 |
passenger | rubygems | >= 5.0.0, < 5.0.22 | 5.0.22 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper input validation in header processing. The commit diff shows the addition of 'containsNonAlphaNumDash' to filter invalid headers, which was missing in vulnerable versions. The pre-patch code in constructHeaderForSessionProtocol
only checked for specific headers (content-type, content-length, connection) but didn't validate header name characters. This allowed underscore-containing headers to pass through, enabling spoofing via SCGI's case conversion. The function's role in header construction and the explicit patch targeting this code path confirm its vulnerability.