CVE-2018-12029
Phusion Passenger Race Condition Allows Privilege Escalation
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.0
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
CVE-2018-12029- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 4.4 Medium
AV:L/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-362
- Updated
- 2026-11-02
CVE List No score
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
CVE-2018-12029- Updated
- 2026-11-02
EUVDEUVD-2022-4382 No score
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
EUVD-2022-4382- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-jjcj-fgfm-9g9r
7.0
Phusion Passenger Race Condition Allows Privilege Escalation
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
GHSA-jjcj-fgfm-9g9r- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-362
- Updated
- 2026-11-02
OSV
7.0
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
CVE-2018-12029- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-12029
7.0
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
DEBIAN-CVE-2018-12029- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-jjcj-fgfm-9g9r
7.0
Phusion Passenger Race Condition Allows Privilege Escalation
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
GHSA-jjcj-fgfm-9g9r- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-12029
7.0
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but before it was chowned, leads to the target of the link being chowned via the path. Targeting sensitive files such as root's crontab file allows privilege escalation.
- Record
UBUNTU-CVE-2018-12029- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11341-1 No score
ruby2.7-rubygem-passenger-6.0.8-3.2 on GA media
These are all security issues fixed in the ruby2.7-rubygem-passenger-6.0.8-3.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11341-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:2039-1 No score
Security update for rubygem-passenger
This update for rubygem-passenger fixes the following issue:
The following security vulnerability was addressed:
- CVE-2018-12029: Fixed a file system access race condition in the chown command, which allowed for local privilege escalation and affects the Nginx module (bsc#1097663).
- Record
SUSE-SU-2018:2039-1- Updated
- 2026-11-02
OSVUSN-5261-1 No score
passenger vulnerabilities
It was discovered that Phusion Passenger incorrectly handled a file path in the application root folder. An attacker could possibly use this issue to read arbitrary files. (CVE-2017-16355)
It was discovered that Phusion Passenger had a race condition in the nginx module that could be used to perform a symlink attack. An attacker could possibly use this issue to escalate privileges. (CVE-2018-12029)
- Record
USN-5261-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
passengerRubyGems |
3.0.0 up to 5.3.2 | 5.3.2 |
passengerDebian:12 |
before 5.0.30-1.1 | 5.0.30-1.1 |
passengerDebian:13 |
before 5.0.30-1.1 | 5.0.30-1.1 |
passengerDebian:14 |
before 5.0.30-1.1 | 5.0.30-1.1 |
ruby-passengerDebian:8 From an advisory covering 2 CVEs |
before 4.0.53-1+deb8u1, plus listed versions 4.0.53-1 |
4.0.53-1+deb8u1 |
passengerRubyGems |
3.0.0 up to 5.3.2, plus listed versions 3.0.13.0.103.0.113.0.123.0.13 Show 45 moreShow less3.0.143.0.153.0.173.0.183.0.193.0.23.0.213.0.33.0.43.0.53.0.63.0.73.0.83.0.93.9.1.beta3.9.2.beta4.0.0.rc44.0.0.rc64.0.14.0.104.0.134.0.144.0.164.0.174.0.184.0.194.0.24.0.204.0.214.0.234.0.244.0.254.0.264.0.274.0.284.0.294.0.34.0.304.0.314.0.324.0.334.0.344.0.354.0.364.0.37 |
5.3.2 |
rubygem-passengerSUSE:Linux Enterprise Module for Containers 12 |
before 5.0.18-12.9.1 | 5.0.18-12.9.1 |
passengerUbuntu:Pro:16.04:LTS |
before 5.0.27-2ubuntu0.1~esm1, plus listed versions 5.0.7-35.0.22-15.0.22-1build15.0.22-1build25.0.27-2 |
5.0.27-2ubuntu0.1~esm1 |
passengerUbuntu:18.04:LTS |
before 5.0.30-1+deb9u1build0.18.04.1, plus listed versions 5.0.30-15.0.30-1build15.0.30-1build2 |
5.0.30-1+deb9u1build0.18.04.1 |
passengerUbuntu:Pro:16.04:LTS From an advisory covering 2 CVEs |
before 5.0.27-2ubuntu0.1~esm1, plus listed versions 5.0.7-35.0.22-15.0.22-1build15.0.22-1build25.0.27-2 |
5.0.27-2ubuntu0.1~esm1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-12029 is a high vulnerability (CVSS 7.0) in Phusion Passenger, published June 17, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in passenger 5.3.2.
References
blog.phusion.nl/passenger-5-3-2
security.gentoo.org/glsa/201807-02
pulsesecurity.co.nz/advisories/phusion-passenger-priv-esc
lists.debian.org/debian-lts-announce/2018/06/msg00007.html
nvd.nist.gov/vuln/detail/CVE-2018-12029
blog.phusion.nl/2018/06/12/passenger-5-3-2-various-security-fixes
Show 18 moreShow less
github.com/rubysec/ruby-advisory-db/blob/master/gems/passenger/CVE-2018-12029.yml
github.com/advisories/GHSA-jjcj-fgfm-9g9r
security-tracker.debian.org/tracker/CVE-2018-12029
suse.com/support/update/announcement/2018/suse-su-20182039-1
bugzilla.suse.com/1097663
suse.com/security/cve/CVE-2018-12029
ubuntu.com/security/CVE-2018-12029
cve.org/CVERecord?id=CVE-2018-12029
ubuntu.com/security/notices/USN-5261-1
ubuntu.com/security/CVE-2017-16355
suse.com/security/cve/CVE-2013-2119
suse.com/security/cve/CVE-2013-4547
suse.com/security/cve/CVE-2014-1831
suse.com/security/cve/CVE-2014-1832
suse.com/security/cve/CVE-2015-7519
suse.com/security/cve/CVE-2016-1247
suse.com/security/cve/CVE-2017-7529
suse.com/security/cve/CVE-2018-12026
Left out here: 79 versions. The JSON record has them.