Release date:
Updated on: 2013-05-19
Affected Systems:
Ruby 2.0.x
Ruby 1.9.x
Unaffected system:
Ruby 1.8.x
Description:
--------------------------------------------------------------------------------
CVE (CAN) ID: CVE-2013-2065
Ruby is a scripting language created for simple and quick Object-Oriented Programming (Object-Oriented Programming, in 1990s, the Japanese developed Matsumoto to comply with the GPL protocol and Ruby License.
The DL and Fiddle modules of Ruby 1.9.x and 2.0.x do not properly verify the $ SAFE layer when processing certain objects, resulting in passing contaminated strings to system calls.
<* Source: vendor
Link: http://secunia.com/advisories/53432/
Http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/
*>
Suggestion:
--------------------------------------------------------------------------------
Temporary solution:
If you cannot install or upgrade the patch immediately, NSFOCUS recommends that you use the following monkey patch to reduce the threat:
Class Fiddle: Function
Alias: old_call: call
Def call (* args)
If $ SAFE> = 1 & args. any? {| X. tainted? }
Raise SecurityError, "tainted parameter not allowed"
End
Old_call (* args)
End
End
Vendor patch:
Ruby
----
Ruby has released a Security Bulletin (taint-bypass-dl-fiddle-cve-2013-2065) and patches for this:
Taint-bypass-dl-fiddle-cve-2013-2065: Object taint bypassing in DL and Fiddle in Ruby (CVE-2013-2065)
Link: http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/