First published: Mon Jan 07 2013(Updated: )
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/phusion_passenger/standalone/main.rb's create_nginx_controller function, passenger creates an nginx configuration file insecurely and starts nginx with that configuration file: @temp_dir = "/tmp/passenger-standalone.#{$$}" @config_filename = "#{@temp_dir}/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.
Affected Software | Affected Version | How to fix |
---|---|---|
Phusion Passenger |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-892813 is considered high due to insecure handling of temporary files affecting system security.
To fix REDHAT-BUG-892813, update the Phusion Passenger gem to the latest version that addresses the insecure configuration file creation.
REDHAT-BUG-892813 affects systems using the Phusion Passenger gem in standalone mode.
REDHAT-BUG-892813 introduces potential unauthorized access and data leakage through insecure temporary file handling.
Currently, the recommended workaround for REDHAT-BUG-892813 is to avoid using the affected functionality until the gem is updated.