blob: 9e0f1160376e2a0d5c4a0551b5f07f6532d8e221 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<glsa id="200812-17">
<title>Ruby: Multiple vulnerabilities</title>
Multiple vulnerabilities have been discovered in Ruby that allow for
attacks including arbitrary code execution and Denial of Service.
<product type="ebuild">ruby</product>
<announced>December 16, 2008</announced>
<revised>December 16, 2008: 01</revised>
<package name="dev-lang/ruby" auto="yes" arch="*">
<unaffected range="ge">1.8.6_p287-r1</unaffected>
<vulnerable range="lt">1.8.6_p287-r1</vulnerable>
Ruby is an interpreted object-oriented programming language. The
elaborate standard library includes an HTTP server ("WEBRick") and a
class for XML parsing ("REXML").
Multiple vulnerabilities have been discovered in the Ruby interpreter
and its standard libraries. Drew Yao of Apple Product Security
discovered the following flaws:
<li>Arbitrary code execution
or Denial of Service (memory corruption) in the rb_str_buf_append()
function (CVE-2008-2662).</li>
<li>Arbitrary code execution or Denial
of Service (memory corruption) in the rb_ary_stor() function
<li>Memory corruption via alloca in the
rb_str_format() function (CVE-2008-2664).</li>
<li>Memory corruption
("REALLOC_N") in the rb_ary_splice() and rb_ary_replace() functions
<li>Memory corruption ("beg + rlen") in the
rb_ary_splice() and rb_ary_replace() functions (CVE-2008-2726).</li>
</ul> <p>
Furthermore, several other vulnerabilities have been reported:
<li>Tanaka Akira reported an issue with resolv.rb that enables
attackers to spoof DNS responses (CVE-2008-1447).</li>
<li>Akira Tagoh
of RedHat discovered a Denial of Service (crash) issue in the
rb_ary_fill() function in array.c (CVE-2008-2376).</li>
safe level bypass vulnerabilities were discovered and reported by Keita
Yamaguchi (CVE-2008-3655).</li>
<li>Christian Neukirchen is credited
for discovering a Denial of Service (CPU consumption) attack in the
WEBRick HTTP server (CVE-2008-3656).</li>
<li>A fault in the dl module
allowed the circumvention of taintness checks which could possibly lead
to insecure code execution was reported by "sheepman"
<li>Tanaka Akira again found a DNS spoofing
vulnerability caused by the resolv.rb implementation using poor
randomness (CVE-2008-3905).</li>
<li>Luka Treiber and Mitja Kolsek
(ACROS Security) disclosed a Denial of Service (CPU consumption)
vulnerability in the REXML module when dealing with recursive entity
expansion (CVE-2008-3790).</li>
<impact type="normal">
These vulnerabilities allow remote attackers to execute arbitrary code,
spoof DNS responses, bypass Ruby's built-in security and taintness
checks, and cause a Denial of Service via crash or CPU exhaustion.
There is no known workaround at this time.
All Ruby users should upgrade to the latest version:
# emerge --sync
# emerge --ask --oneshot --verbose &quot;&gt;=dev-lang/ruby-1.8.6_p287-r1&quot;</code>
<uri link="">CVE-2008-1447</uri>
<uri link="">CVE-2008-2376</uri>
<uri link="">CVE-2008-2662</uri>
<uri link="">CVE-2008-2663</uri>
<uri link="">CVE-2008-2664</uri>
<uri link="">CVE-2008-2725</uri>
<uri link="">CVE-2008-2726</uri>
<uri link="">CVE-2008-3655</uri>
<uri link="">CVE-2008-3656</uri>
<uri link="">CVE-2008-3657</uri>
<uri link="">CVE-2008-3790</uri>
<uri link="">CVE-2008-3905</uri>
<metadata tag="requester" timestamp="Sun, 21 Sep 2008 11:43:41 +0000">
<metadata tag="submitter" timestamp="Mon, 10 Nov 2008 18:52:14 +0000">
<metadata tag="bugReady" timestamp="Thu, 27 Nov 2008 16:38:46 +0000">