CVE-2017-16355 in Passengerinfo

Summary

by MITRE

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.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 01/18/2023

The vulnerability identified as CVE-2017-16355 affects Phusion Passenger versions 5.1.10, representing a critical information disclosure flaw that arises from improper file access controls within the Spawner.h component. This issue specifically manifests when the Passenger application is executed with root privileges, creating a dangerous privilege escalation vector that allows attackers to access arbitrary system files through a carefully crafted symbolic link manipulation. The vulnerability stems from the application's failure to properly validate file paths during the passenger-status command execution, particularly when processing the REVISION file symlink.

The technical exploitation of this vulnerability involves creating a symbolic link named REVISION within the application root directory that points to any target file on the system. When an attacker executes the passenger-status command with xml output formatting, the system processes this symlink and reveals the contents of the targeted file through the XML output structure. This represents a classic path traversal vulnerability that bypasses normal file access controls and allows unauthorized reading of sensitive system files that would otherwise be protected from direct access.

This vulnerability directly maps to CWE-22 Path Traversal and CWE-73 Improper Neutralization of Special Elements in Output Used by a Downstream Component, as it demonstrates how improper handling of symbolic links and file paths can lead to unauthorized information disclosure. The attack vector leverages the privilege escalation aspect of running Passenger as root, which aligns with ATT&CK technique T1068, privilege escalation through root access. The impact extends beyond simple information disclosure as attackers can potentially extract configuration files, credentials, and other sensitive data that may be stored in system directories.

The operational impact of this vulnerability is severe for systems running Passenger with root privileges, as it provides attackers with a straightforward method to enumerate system files without requiring additional attack vectors. Organizations using Passenger in production environments where the application runs as root are particularly at risk, as this vulnerability can be exploited remotely through the passenger-status interface. The vulnerability affects both open source and enterprise versions of Passenger, though the fixes are version-specific, requiring careful upgrade management across different deployment scenarios. System administrators should immediately implement mitigation strategies including running Passenger with reduced privileges, implementing proper file access controls, and monitoring for suspicious symbolic link creation in application directories. The vulnerability also highlights the importance of proper input validation and privilege separation in web application frameworks, as the flaw exists in the core spawning mechanism that handles application lifecycle management.

Reservation

11/01/2017

Disclosure

12/14/2017

Moderation

accepted

CPE

ready

EPSS

0.00136

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!