Cloudanix VulnDB

CVE-2014-3248

None

CVSS

—

EPSS

0.5%

Published

Nov 16, 2014

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in older management software lets someone already on the computer trick it into running harmful files from the folder it is working in, giving them more control over the system.

Exploit Available
Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Privilege Gain
Component
Application
Class
Privilege Escalation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Untrusted search path vulnerability allows a local process running with Ruby 1.9.1 or earlier to load and execute attacker-controlled Ruby files or shared libraries from the current working directory instead of trusted system locations, resulting in privilege escalation.

Why it matters to the business

Local attackers on affected systems can obtain elevated privileges, potentially taking control of configuration management tools and the systems they manage, leading to widespread unauthorized access or disruption.

How an attack unfolds

An attacker with local access places a malicious file matching one of the expected names in the working directory of a vulnerable process; when the process starts under Ruby 1.9.1 or earlier, it loads the Trojan instead of the legitimate library, executing attacker code with the privileges of the running service.

How to fix it

Upgrade affected components to fixed versions; for typo3 (Bitnami) apply the update to 9.5.42 or later. Where upgrades are not immediately possible, restrict write access to directories from which these processes are launched and avoid running under Ruby 1.9.1 or earlier.

How to confirm the fix worked

Verify installed package versions against the fixed releases, confirm that Ruby 1.9.1 or earlier is no longer in use with the affected tools, and test that processes no longer load files from the current working directory when expected system paths are present.

Typical attack path

  1. Obtain local access to a system running an affected version
  2. Identify the working directory used by the vulnerable component
  3. Place a Trojan horse file using one of the demonstrated names in that directory
  4. Trigger execution of the vulnerable binary or service
  5. Gain elevated privileges via the loaded malicious code

How to detect it

Review process execution logs and file access traces for unexpected loads of the named Ruby or shared-object files from non-system directories; examine startup scripts and working directories for the presence of the listed Trojan file names.

  • rubygems/defaults/operating_system.rb
  • Win32API.rb
  • Win32API.so
  • safe_yaml.rb
  • safe_yaml/deep.rb
  • safe_yaml/deep.so
  • operatingsystem.rb
  • operatingsystem.so
  • osfamily.rb
  • osfamily.so

What your security team should do

  • Apply the available fixed versions immediately given the public exploit availability
  • Audit systems for any remaining use of Ruby 1.9.1 or earlier with these components
  • Harden working directory permissions for configuration management services
  • Monitor for unexpected file loads during process startup

The record

Untrusted search path vulnerability in Puppet Enterprise 2.8 before 2.8.7, Puppet before 2.7.26 and 3.x before 3.6.2, Facter 1.6.x and 2.x before 2.0.2, Hiera before 1.3.4, and Mcollective before 2.5.2, when running with Ruby 1.9.1 or earlier, allows local users to gain privileges via a Trojan horse file in the current working directory, as demonstrated using (1) rubygems/defaults/operating_system.rb, (2) Win32API.rb, (3) Win32API.so, (4) safe_yaml.rb, (5) safe_yaml/deep.rb, or (6) safe_yaml/deep.so; or (7) operatingsystem.rb, (8) operatingsystem.so, (9) osfamily.rb, or (10) osfamily.so in puppet/confine.

Affected packages

Ecosystem Package Introduced Fixed
RubyGems facter 0 1.7.6
RubyGems facter 2.0.0 2.0.2
RubyGems hiera 0 1.3.4
RubyGems mcollective-client 0 2.5.2
RubyGems puppet 0 2.7.26
RubyGems puppet 3.0.0 3.6.2
Debian:10 facter 0 2.0.1-1
Debian:10 hiera 0 1.3.4-1
Debian:10 mcollective 0 2.5.2+dfsg-1
Debian:10 puppet 0 3.7.0-1
Debian:11 facter 0 2.0.1-1
Debian:11 hiera 0 1.3.4-1
Debian:11 mcollective 0 2.5.2+dfsg-1
Debian:11 puppet 0 3.7.0-1
Debian:12 facter 0 2.0.1-1
Debian:12 hiera 0 1.3.4-1
Debian:12 mcollective 0 2.5.2+dfsg-1
Debian:13 facter 0 2.0.1-1
Debian:13 hiera 0 1.3.4-1
Debian:14 facter 0 2.0.1-1
Debian:14 hiera 0 1.3.4-1
Ubuntu:14.04:LTS facter 0 No fix
Ubuntu:14.04:LTS puppet 0 3.4.3-1ubuntu1.2
Ubuntu:16.04:LTS puppet 0 3.8.5-2
Ubuntu:Pro:14.04:LTS facter 0 No fix
gem facter 2.0.0 2.0.2
gem puppet 3.0.0 3.6.2
openSUSE:Tumbleweed rubygem-facter 0 1.3.4-3.5

Related vulnerabilities