GHSA-cv3f-px9r-54hm CVE-2017-16355
Phusion Passenger information disclosure
- Severity
- 4.7 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- 0.36%
- Chance of exploitation in the next 30 days. Higher than 29.91% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
- Fix
5.1.11- Upgrade passenger to this version or later
Description
In agent/Core/SpawningKit/Spawner.h in Phusion Passenger 5.1.10 (fixed in Passenger Open Source 5.1.11 and Passenger Enterprise 5.1.10), if Passenger is running as root, it is possible to list the contents of arbitrary files on a system by symlinking a file named REVISION from the application root folder to a file of choice and querying passenger-status --show=xml.
Affected versions
RubyGems
| Package | Vulnerable | Fixed in |
|---|---|---|
| passenger | < 5.1.11 |
5.1.11 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
passenger RubyGems → 5.1.11
- bundler
bundle update passenger # Gemfile: gem "passenger", ">= 5.1.11"
Severity breakdown
CVSS 3.1 4.7
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
- Attack vector
- Local
- Attack complexity
- High
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Weakness
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
How to prevent it
- Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
References
Advisories
Other links
- github.com/phusion/passenger/commit/4043718264095cde6623c2cbe8c644541036d7bf
- blog.phusion.nl/2017/10/13/passenger-security-advisory-5-1-11
- github.com/phusion/passenger
- github.com/rubysec/ruby-advisory-db/blob/master/gems/passenger/CVE-2017-16355.yml
- seclists.org/bugtraq/2019/Mar/34
- debian.org/security/2019/dsa-4415
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-2cj2-qqxj-5m3r Phusion Passenger denial of service | High | Also affects passenger |
| GHSA-jjcj-fgfm-9g9r Phusion Passenger Race Condition Allows Privilege Escalation | High | Also affects passenger |
| GHSA-7cv3-gvmc-8mq5 Phusion Passenger SpawningKit Contains Arbitrary Read/Write Vulnerability | Critical | Also affects passenger |
| GHSA-4284-jfhc-f854 Phusion Passenger incorrect permission assignment | Medium | Also affects passenger |
| GHSA-whfx-877c-5p28 Insecure Permissions in Phusion Passenger | High | Also affects passenger |
| GHSA-jjhj-8gx7-x836 Incorrect Access Control in Phusion Passenger | High | Also affects passenger |
| GHSA-8mw8-j583-vqfg RubyGems passenger gem allows remote attackers to delete files | High | Also affects passenger |
| GHSA-qw8w-2xcp-xg59 Insecure use of temporary files in Phusion passenger | Low | Also affects passenger |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor