CVE-2013-2119: Medium severity phusion passenger vulnerability
Michael Scherer reported that the passenger ruby gem, when used in standalone mode, does not use temporary files in a secure manner. In the lib/phusionpassenger/standalone/main.rb's createnginxcontroller function, passenger creates an nginx configuration file insecurely and starts nginx with that configuration file:
@tempdir = "/tmp/passenger-standalone.#{$$}" @configfilename = "#{@tempdir}/config"
If a local attacker were able to create a temporary directory that passenger uses and supply a custom nginx configuration file they could start an nginx instance with their own configuration file. This could result in a denial of service condition for a legitimate service or, if passenger were executed as root (in order to have nginx listen on port 80, for instance), this could lead to a local root compromise.
Other sources
Phusion Passenger gem before 3.0.21 and 4.0.x before 4.0.5 for Ruby allows local users to cause a denial of service (prevent application start) or gain privileges by pre-creating a temporary "config" file in a directory with a predictable name in /tmp/ before it is used by the gem.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2013-2119?
CVE-2013-2119 has a moderate severity rating due to potential security risks associated with insecure file handling.
How do I fix CVE-2013-2119?
To mitigate CVE-2013-2119, you should upgrade to Phusion Passenger version 3.0.21 or higher.
Which versions of Phusion Passenger are affected by CVE-2013-2119?
CVE-2013-2119 affects Phusion Passenger versions up to and including 3.0.20 and certain 4.0.x versions.
What is the impact of CVE-2013-2119?
The impact of CVE-2013-2119 could lead to unauthorized access due to the insecure handling of temporary files.
Is CVE-2013-2119 related to any specific software?
CVE-2013-2119 specifically affects the Phusion Passenger Ruby gem when utilized in standalone mode.