***** Vulnerability Summary *****
CVE Identifier: CVE-2014-3248
Arbitrary Code Execution with Required Social Engineering
On a host on which Puppet, Mcollective, Facter, or Hiera runs on Ruby
< 1.9.2, an unprivileged user can create either a valid ruby file in a
directory mirroring the internal directory structure of the
application or a file called 'rubygems.rb' in a world-writeable
location (e.g. /tmp), convince someone with admin privileges to `cd`
into that directory and run the application, and the application will
load and execute the contents of that ruby file with privileges of the
This is due to the fact that Ruby versions < 1.9.2 append the current
working directory to the load path of an application, and these
applications do not perform load path sanitation to remove it. Only
users running Ruby < 1.9.2 are affected. Later versions of Ruby do not
append the load path with the current working directory.
Attached are patches based on Puppet 3.6.1, Facter 2.0.1, Hiera 1.3.3,
and Mcollective 2.5.1. The fix included is to remove the current
working directory from the load path in the executables included with
each application. This should hopefully be relatively easy to apply to
other versions of these software. The Puppet patch also applies
cleanly to 2.7.25.
Note that these patches do not do modify behavior at the library
level, which means that 3rd-party executables which load these
applications as libraries would still be exposed. The reasoning is
that any such executables are already exposed before they require
Puppet Labs libraries, and removing directories from the global
LOAD_PATH may have unintended consequences for 3rd-party applications
(e.g. maybe they've added "." to the LOAD_PATH explicitly).
We have assigned this vulnerability CVSSv2 score 5.9, with vector
Affected software versions:
Facter 1.6.x and 2.x (1.7.x not affected)
Puppet Enterprise 2.8.x (3.x not affected)
Resolved in pending releases:
Puppet 2.7.26* and 3.6.2
Puppet Enterprise 2.8.7
arches, please stablize the following
=app-admin/mcollective-2.5.2 amd64 x86
Maintainer(s), please cleanup.
Security, please add it to the existing request, or file a new one.
this can be closed, removed bad versions, now we get to work on bug 517286
(In reply to Matthew Thode ( prometheanfire ) from comment #4)
> this can be closed, removed bad versions, now we get to work on bug 517286
It still require a GLSA before closing. New request filed.
This issue was resolved and addressed in
GLSA 201412-15 at http://security.gentoo.org/glsa/glsa-201412-15.xml
by GLSA coordinator Sean Amoss (ackle).