Puppet Labs has become aware of security vulnerabilities in Puppet, Mcollective, Facter, and Hiera. We are working with distribution maintainers and key customers to ensure we are able to patch the vulnerabilities before any are exploited. The vulnerabilities in this email have not been publicly disclosed. They were reported to us externally. We appreciate your consideration to the sensitivity of this information, and respectfully ask that you refrain from publicly disclosing the contents of this email until our planned disclosure date, Thursday, May 29, 2014, at 18:00 UTC. On this date we plan to release updated packages along with a public disclosure. ***** 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 admin user. 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 AV:L/AC:M/Au:S/C:C/I:C/A:C/E:POC/RL:U/RC:C. Affected software versions: Puppet (all) Facter 1.6.x and 2.x (1.7.x not affected) Hiera (all) Mcollective (all) Puppet Enterprise 2.8.x (3.x not affected) Resolved in pending releases: Puppet 2.7.26* and 3.6.2 Facter 2.0.2 and 1.7.6 Hiera 1.3.4 Mcollective 2.5.2 Puppet Enterprise 2.8.7 Reproducible: Always
the 1.7 series WAS vunlerable (initial CVE said they were not) Arches, please rapid stablize for the following =dev-ruby/facter-1.7.6 amd64 hppa ppc sparc x86
looks like ppc64 is needed for bug 513322 as well
Builds fine on x86. Please mark stable for x86.
amd64 stable
x86 stable
how goes the stablereq?
ppc stable
Stable for HPPA.
ppc64 stable
sparc stable
Arches, Thank you for your work Maintainer(s), please drop the vulnerable version(s). New GLSA Request filed.
Vulnerable version has been removed.
Maintainer(s), Thank you for cleanup!
This issue was resolved and addressed in GLSA 201412-45 at http://security.gentoo.org/glsa/glsa-201412-45.xml by GLSA coordinator Yury German (BlueKnight).