Red Hat Bugzilla – Full Text Bug Listing
|Summary:||CVE-2012-4464 ruby 1.9.3: Possibility to bypass Ruby's $SAFE (level 4) semantics|
|Product:||[Other] Security Response||Reporter:||Jan Lieskovsky <jlieskov>|
|Component:||vulnerability||Assignee:||Red Hat Product Security <security-response-team>|
|Status:||CLOSED ERRATA||QA Contact:|
|Version:||unspecified||CC:||bkabrda, jrusnack, mfisher, mmcgrath, mmorsi, mtasaka, tagoh, vanmeeuwen+fedora, vondruch|
|Fixed In Version:||ruby 1.9.3p286||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2014-10-28 17:18:03 EDT||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Bug Depends On:||839530, 862907, 863315, 904020|
Description Jan Lieskovsky 2012-10-03 06:59:07 EDT
Originally, Common Vulnerabilities and Exposures assigned an identifier CVE-2011-1005 to the following vulnerability: The safe-level feature in Ruby 1.8.6 through 1.8.6-420, 1.8.7 through 1.8.7-330, and 1.8.8dev allows context-dependent attackers to modify strings via the Exception#to_s method, as demonstrated by changing an intended pathname. Later it was reported:  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689075  http://www.openwall.com/lists/oss-security/2012/10/02/4 that upstream ruby 1.9.1 and ruby 1.9.3 versions are also vulnerable to this flaw. Relevant upstream patch:  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=37068
Comment 1 Jan Lieskovsky 2012-10-03 07:01:16 EDT
Upstream public reproducer for the CVE-2011-1005 issue (from: http://www.ruby-lang.org/en/news/2011/02/18/exception-methods-can-bypass-safe/) $secret_path = "foo" proc do $SAFE = 4 Exception.new($secret_path).to_s $secret_path.replace "/etc/passwd" end.call open($secret_path) do ... end which can be used to test presence of the issue.
Comment 2 Jan Lieskovsky 2012-10-03 07:05:24 EDT
This issue did NOT affect the versions of the ruby package, as shipped with Red Hat Enterprise Linux 5 and 6 (refer to bug #678920 for further information about this flaw in ruby 1.8.x and earlier versions). -- This issue did NOT affect the version of the ruby package, as shipped with Fedora release of 16. -- This issue affects the version of the ruby package, as shipped with Fedora 17. Please schedule an update.
Comment 3 Vincent Danen 2012-10-03 16:49:51 EDT
Based on comments reported to oss-sec, there are actually two issues here: 1) CVE-2011-1005 was never reported to affect ruby 1.9.x, but it was later introduced (or re-introduced) on trunk, via r29456. So ruby 1.9.3-p0 and later is affected by the same flaw that was assigned CVE-2011-1005 in 1.8.x (it's been assigned the name CVE-2012-4464) 2) The name_err_mesg_to_str() function has a similar flaw, and it affects both 1.8.x and 1.9.3-p0 and later. This was assigned the name CVE-2012-4466. CVE assignments and explanations: http://seclists.org/oss-sec/2012/q4/10 http://seclists.org/oss-sec/2012/q4/13 We'll keep this bug for CVE-2012-4464, and bug #862906 for CVE-2012-4466.
Comment 4 Vincent Danen 2012-10-03 16:53:14 EDT
Statement: Not vulnerable. This issue did not affect the versions of ruby as shipped with Red Hat Enterprise Linux 5 and 6 as they did not provide version 1.9.x, which is the vulnerable version of ruby.
Comment 5 Jan Lieskovsky 2012-10-04 04:57:01 EDT
Created ruby tracking bugs for this issue Affects: fedora-all [bug 862907]