Red Hat Security Advisory 2012-0070-01 - Ruby is an extensible, interpreted, object-oriented, scripting language. It has features to process text files and to do system management tasks. A denial of service flaw was found in the implementation of associative arrays in Ruby. An attacker able to supply a large number of inputs to a Ruby application that are used as keys when inserting data into an array could trigger multiple hash function collisions, making array operations take an excessive amount of CPU time. To mitigate this issue, randomization has been added to the hash function to reduce the chance of an attacker successfully causing intentional collisions.
03b3e4cae76347af80bc92c207769ad0a2a84889ef025d717522605f2284e476
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=====================================================================
Red Hat Security Advisory
Synopsis: Moderate: ruby security update
Advisory ID: RHSA-2012:0070-01
Product: Red Hat Enterprise Linux
Advisory URL: https://rhn.redhat.com/errata/RHSA-2012-0070.html
Issue date: 2012-01-30
CVE Names: CVE-2011-3009 CVE-2011-4815
=====================================================================
1. Summary:
Updated ruby packages that fix two security issues are now available for
Red Hat Enterprise Linux 4 and 5.
The Red Hat Security Response Team has rated this update as having moderate
security impact. Common Vulnerability Scoring System (CVSS) base scores,
which give detailed severity ratings, are available for each vulnerability
from the CVE links in the References section.
2. Relevant releases/architectures:
RHEL Desktop Workstation (v. 5 client) - i386, x86_64
Red Hat Enterprise Linux (v. 5 server) - i386, ia64, ppc, s390x, x86_64
Red Hat Enterprise Linux AS version 4 - i386, ia64, ppc, s390, s390x, x86_64
Red Hat Enterprise Linux Desktop (v. 5 client) - i386, x86_64
Red Hat Enterprise Linux Desktop version 4 - i386, x86_64
Red Hat Enterprise Linux ES version 4 - i386, ia64, x86_64
Red Hat Enterprise Linux WS version 4 - i386, ia64, x86_64
3. Description:
Ruby is an extensible, interpreted, object-oriented, scripting language. It
has features to process text files and to do system management tasks.
A denial of service flaw was found in the implementation of associative
arrays (hashes) in Ruby. An attacker able to supply a large number of
inputs to a Ruby application (such as HTTP POST request parameters sent to
a web application) that are used as keys when inserting data into an array
could trigger multiple hash function collisions, making array operations
take an excessive amount of CPU time. To mitigate this issue, randomization
has been added to the hash function to reduce the chance of an attacker
successfully causing intentional collisions. (CVE-2011-4815)
It was found that Ruby did not reinitialize the PRNG (pseudorandom number
generator) after forking a child process. This could eventually lead to the
PRNG returning the same result twice. An attacker keeping track of the
values returned by one child process could use this flaw to predict the
values the PRNG would return in other child processes (as long as the
parent process persisted). (CVE-2011-3009)
Red Hat would like to thank oCERT for reporting CVE-2011-4815. oCERT
acknowledges Julian Wälde and Alexander Klink as the original reporters of
CVE-2011-4815.
All users of ruby are advised to upgrade to these updated packages, which
contain backported patches to resolve these issues.
4. Solution:
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/kb/docs/DOC-11259
5. Bugs fixed (http://bugzilla.redhat.com/):
722415 - CVE-2011-2686 CVE-2011-2705 CVE-2011-3009 ruby: Properly initialize the random number generator when forking new process
750564 - CVE-2011-4815 ruby: hash table collisions CPU usage DoS (oCERT-2011-003)
6. Package List:
Red Hat Enterprise Linux AS version 4:
Source:
ftp://updates.redhat.com/enterprise/4AS/en/os/SRPMS/ruby-1.8.1-18.el4.src.rpm
i386:
irb-1.8.1-18.el4.i386.rpm
ruby-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-devel-1.8.1-18.el4.i386.rpm
ruby-docs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-mode-1.8.1-18.el4.i386.rpm
ruby-tcltk-1.8.1-18.el4.i386.rpm
ia64:
irb-1.8.1-18.el4.ia64.rpm
ruby-1.8.1-18.el4.ia64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.ia64.rpm
ruby-devel-1.8.1-18.el4.ia64.rpm
ruby-docs-1.8.1-18.el4.ia64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.ia64.rpm
ruby-mode-1.8.1-18.el4.ia64.rpm
ruby-tcltk-1.8.1-18.el4.ia64.rpm
ppc:
irb-1.8.1-18.el4.ppc.rpm
ruby-1.8.1-18.el4.ppc.rpm
ruby-debuginfo-1.8.1-18.el4.ppc.rpm
ruby-debuginfo-1.8.1-18.el4.ppc64.rpm
ruby-devel-1.8.1-18.el4.ppc.rpm
ruby-docs-1.8.1-18.el4.ppc.rpm
ruby-libs-1.8.1-18.el4.ppc.rpm
ruby-libs-1.8.1-18.el4.ppc64.rpm
ruby-mode-1.8.1-18.el4.ppc.rpm
ruby-tcltk-1.8.1-18.el4.ppc.rpm
s390:
irb-1.8.1-18.el4.s390.rpm
ruby-1.8.1-18.el4.s390.rpm
ruby-debuginfo-1.8.1-18.el4.s390.rpm
ruby-devel-1.8.1-18.el4.s390.rpm
ruby-docs-1.8.1-18.el4.s390.rpm
ruby-libs-1.8.1-18.el4.s390.rpm
ruby-mode-1.8.1-18.el4.s390.rpm
ruby-tcltk-1.8.1-18.el4.s390.rpm
s390x:
irb-1.8.1-18.el4.s390x.rpm
ruby-1.8.1-18.el4.s390x.rpm
ruby-debuginfo-1.8.1-18.el4.s390.rpm
ruby-debuginfo-1.8.1-18.el4.s390x.rpm
ruby-devel-1.8.1-18.el4.s390x.rpm
ruby-docs-1.8.1-18.el4.s390x.rpm
ruby-libs-1.8.1-18.el4.s390.rpm
ruby-libs-1.8.1-18.el4.s390x.rpm
ruby-mode-1.8.1-18.el4.s390x.rpm
ruby-tcltk-1.8.1-18.el4.s390x.rpm
x86_64:
irb-1.8.1-18.el4.x86_64.rpm
ruby-1.8.1-18.el4.x86_64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.x86_64.rpm
ruby-devel-1.8.1-18.el4.x86_64.rpm
ruby-docs-1.8.1-18.el4.x86_64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.x86_64.rpm
ruby-mode-1.8.1-18.el4.x86_64.rpm
ruby-tcltk-1.8.1-18.el4.x86_64.rpm
Red Hat Enterprise Linux Desktop version 4:
Source:
ftp://updates.redhat.com/enterprise/4Desktop/en/os/SRPMS/ruby-1.8.1-18.el4.src.rpm
i386:
irb-1.8.1-18.el4.i386.rpm
ruby-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-devel-1.8.1-18.el4.i386.rpm
ruby-docs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-mode-1.8.1-18.el4.i386.rpm
ruby-tcltk-1.8.1-18.el4.i386.rpm
x86_64:
irb-1.8.1-18.el4.x86_64.rpm
ruby-1.8.1-18.el4.x86_64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.x86_64.rpm
ruby-devel-1.8.1-18.el4.x86_64.rpm
ruby-docs-1.8.1-18.el4.x86_64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.x86_64.rpm
ruby-mode-1.8.1-18.el4.x86_64.rpm
ruby-tcltk-1.8.1-18.el4.x86_64.rpm
Red Hat Enterprise Linux ES version 4:
Source:
ftp://updates.redhat.com/enterprise/4ES/en/os/SRPMS/ruby-1.8.1-18.el4.src.rpm
i386:
irb-1.8.1-18.el4.i386.rpm
ruby-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-devel-1.8.1-18.el4.i386.rpm
ruby-docs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-mode-1.8.1-18.el4.i386.rpm
ruby-tcltk-1.8.1-18.el4.i386.rpm
ia64:
irb-1.8.1-18.el4.ia64.rpm
ruby-1.8.1-18.el4.ia64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.ia64.rpm
ruby-devel-1.8.1-18.el4.ia64.rpm
ruby-docs-1.8.1-18.el4.ia64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.ia64.rpm
ruby-mode-1.8.1-18.el4.ia64.rpm
ruby-tcltk-1.8.1-18.el4.ia64.rpm
x86_64:
irb-1.8.1-18.el4.x86_64.rpm
ruby-1.8.1-18.el4.x86_64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.x86_64.rpm
ruby-devel-1.8.1-18.el4.x86_64.rpm
ruby-docs-1.8.1-18.el4.x86_64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.x86_64.rpm
ruby-mode-1.8.1-18.el4.x86_64.rpm
ruby-tcltk-1.8.1-18.el4.x86_64.rpm
Red Hat Enterprise Linux WS version 4:
Source:
ftp://updates.redhat.com/enterprise/4WS/en/os/SRPMS/ruby-1.8.1-18.el4.src.rpm
i386:
irb-1.8.1-18.el4.i386.rpm
ruby-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-devel-1.8.1-18.el4.i386.rpm
ruby-docs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-mode-1.8.1-18.el4.i386.rpm
ruby-tcltk-1.8.1-18.el4.i386.rpm
ia64:
irb-1.8.1-18.el4.ia64.rpm
ruby-1.8.1-18.el4.ia64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.ia64.rpm
ruby-devel-1.8.1-18.el4.ia64.rpm
ruby-docs-1.8.1-18.el4.ia64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.ia64.rpm
ruby-mode-1.8.1-18.el4.ia64.rpm
ruby-tcltk-1.8.1-18.el4.ia64.rpm
x86_64:
irb-1.8.1-18.el4.x86_64.rpm
ruby-1.8.1-18.el4.x86_64.rpm
ruby-debuginfo-1.8.1-18.el4.i386.rpm
ruby-debuginfo-1.8.1-18.el4.x86_64.rpm
ruby-devel-1.8.1-18.el4.x86_64.rpm
ruby-docs-1.8.1-18.el4.x86_64.rpm
ruby-libs-1.8.1-18.el4.i386.rpm
ruby-libs-1.8.1-18.el4.x86_64.rpm
ruby-mode-1.8.1-18.el4.x86_64.rpm
ruby-tcltk-1.8.1-18.el4.x86_64.rpm
Red Hat Enterprise Linux Desktop (v. 5 client):
Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/ruby-1.8.5-22.el5_7.1.src.rpm
i386:
ruby-1.8.5-22.el5_7.1.i386.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-docs-1.8.5-22.el5_7.1.i386.rpm
ruby-irb-1.8.5-22.el5_7.1.i386.rpm
ruby-libs-1.8.5-22.el5_7.1.i386.rpm
ruby-rdoc-1.8.5-22.el5_7.1.i386.rpm
ruby-ri-1.8.5-22.el5_7.1.i386.rpm
ruby-tcltk-1.8.5-22.el5_7.1.i386.rpm
x86_64:
ruby-1.8.5-22.el5_7.1.x86_64.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.x86_64.rpm
ruby-docs-1.8.5-22.el5_7.1.x86_64.rpm
ruby-irb-1.8.5-22.el5_7.1.x86_64.rpm
ruby-libs-1.8.5-22.el5_7.1.i386.rpm
ruby-libs-1.8.5-22.el5_7.1.x86_64.rpm
ruby-rdoc-1.8.5-22.el5_7.1.x86_64.rpm
ruby-ri-1.8.5-22.el5_7.1.x86_64.rpm
ruby-tcltk-1.8.5-22.el5_7.1.x86_64.rpm
RHEL Desktop Workstation (v. 5 client):
Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/ruby-1.8.5-22.el5_7.1.src.rpm
i386:
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-devel-1.8.5-22.el5_7.1.i386.rpm
ruby-mode-1.8.5-22.el5_7.1.i386.rpm
x86_64:
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.x86_64.rpm
ruby-devel-1.8.5-22.el5_7.1.i386.rpm
ruby-devel-1.8.5-22.el5_7.1.x86_64.rpm
ruby-mode-1.8.5-22.el5_7.1.x86_64.rpm
Red Hat Enterprise Linux (v. 5 server):
Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/ruby-1.8.5-22.el5_7.1.src.rpm
i386:
ruby-1.8.5-22.el5_7.1.i386.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-devel-1.8.5-22.el5_7.1.i386.rpm
ruby-docs-1.8.5-22.el5_7.1.i386.rpm
ruby-irb-1.8.5-22.el5_7.1.i386.rpm
ruby-libs-1.8.5-22.el5_7.1.i386.rpm
ruby-mode-1.8.5-22.el5_7.1.i386.rpm
ruby-rdoc-1.8.5-22.el5_7.1.i386.rpm
ruby-ri-1.8.5-22.el5_7.1.i386.rpm
ruby-tcltk-1.8.5-22.el5_7.1.i386.rpm
ia64:
ruby-1.8.5-22.el5_7.1.ia64.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.ia64.rpm
ruby-devel-1.8.5-22.el5_7.1.ia64.rpm
ruby-docs-1.8.5-22.el5_7.1.ia64.rpm
ruby-irb-1.8.5-22.el5_7.1.ia64.rpm
ruby-libs-1.8.5-22.el5_7.1.ia64.rpm
ruby-mode-1.8.5-22.el5_7.1.ia64.rpm
ruby-rdoc-1.8.5-22.el5_7.1.ia64.rpm
ruby-ri-1.8.5-22.el5_7.1.ia64.rpm
ruby-tcltk-1.8.5-22.el5_7.1.ia64.rpm
ppc:
ruby-1.8.5-22.el5_7.1.ppc.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.ppc.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.ppc64.rpm
ruby-devel-1.8.5-22.el5_7.1.ppc.rpm
ruby-devel-1.8.5-22.el5_7.1.ppc64.rpm
ruby-docs-1.8.5-22.el5_7.1.ppc.rpm
ruby-irb-1.8.5-22.el5_7.1.ppc.rpm
ruby-libs-1.8.5-22.el5_7.1.ppc.rpm
ruby-libs-1.8.5-22.el5_7.1.ppc64.rpm
ruby-mode-1.8.5-22.el5_7.1.ppc.rpm
ruby-rdoc-1.8.5-22.el5_7.1.ppc.rpm
ruby-ri-1.8.5-22.el5_7.1.ppc.rpm
ruby-tcltk-1.8.5-22.el5_7.1.ppc.rpm
s390x:
ruby-1.8.5-22.el5_7.1.s390x.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.s390.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.s390x.rpm
ruby-devel-1.8.5-22.el5_7.1.s390.rpm
ruby-devel-1.8.5-22.el5_7.1.s390x.rpm
ruby-docs-1.8.5-22.el5_7.1.s390x.rpm
ruby-irb-1.8.5-22.el5_7.1.s390x.rpm
ruby-libs-1.8.5-22.el5_7.1.s390.rpm
ruby-libs-1.8.5-22.el5_7.1.s390x.rpm
ruby-mode-1.8.5-22.el5_7.1.s390x.rpm
ruby-rdoc-1.8.5-22.el5_7.1.s390x.rpm
ruby-ri-1.8.5-22.el5_7.1.s390x.rpm
ruby-tcltk-1.8.5-22.el5_7.1.s390x.rpm
x86_64:
ruby-1.8.5-22.el5_7.1.x86_64.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.i386.rpm
ruby-debuginfo-1.8.5-22.el5_7.1.x86_64.rpm
ruby-devel-1.8.5-22.el5_7.1.i386.rpm
ruby-devel-1.8.5-22.el5_7.1.x86_64.rpm
ruby-docs-1.8.5-22.el5_7.1.x86_64.rpm
ruby-irb-1.8.5-22.el5_7.1.x86_64.rpm
ruby-libs-1.8.5-22.el5_7.1.i386.rpm
ruby-libs-1.8.5-22.el5_7.1.x86_64.rpm
ruby-mode-1.8.5-22.el5_7.1.x86_64.rpm
ruby-rdoc-1.8.5-22.el5_7.1.x86_64.rpm
ruby-ri-1.8.5-22.el5_7.1.x86_64.rpm
ruby-tcltk-1.8.5-22.el5_7.1.x86_64.rpm
These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from
https://access.redhat.com/security/team/key/#package
7. References:
https://www.redhat.com/security/data/cve/CVE-2011-3009.html
https://www.redhat.com/security/data/cve/CVE-2011-4815.html
https://access.redhat.com/security/updates/classification/#moderate
http://www.ocert.org/advisories/ocert-2011-003.html
8. Contact:
The Red Hat security contact is <secalert@redhat.com>. More contact
details at https://access.redhat.com/security/team/contact/
Copyright 2012 Red Hat, Inc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (GNU/Linux)
iD8DBQFPJuO0XlSAg2UNWIIRAghXAKDDyW2+wAimegdVEVxClio75I8djACgrvHc
WYjnTYnTPhf71nt87CThpb0=
=s78C
-----END PGP SIGNATURE-----
--
RHSA-announce mailing list
RHSA-announce@redhat.com
https://www.redhat.com/mailman/listinfo/rhsa-announce