CVE-2018-12028: Incorrect Access Control in Phusion Passenger
7.8
CVSS Score
3.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.3966%
CWE
Published
5/13/2022
Updated
7/9/2023
KEV Status
No
Technology
Ruby
Technical Details
CVSS Vector
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
passenger | rubygems | >= 5.3.0, < 5.3.2 | 5.3.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the order of operations in handling the preloader's reported PID. The original code in SmartSpawner.h
(lines 843-850) created a ScopeGuard
to kill the PID immediately after receiving it, before performing UID validation. The patch moved this guard after the validation checks (lines 941-943 in the diff). This confirms that the pre-patch code allowed killing unvalidated PIDs, directly enabling the exploit described in CVE-2018-12028
. The CWE-732
mapping (incorrect permission/resource control) aligns with the lack of PID validation before taking destructive actions.