Synopsis: Low: ruby security, bug fix, and enhancement update
Issue Date: 2011-12-06
CVE Numbers: CVE-2011-2686
Ruby is an extensible, interpreted, object-oriented, scripting language. It
has features to process text files and to do system management tasks.
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)
A flaw was found in the Ruby SecureRandom module. When using the
SecureRandom.random_bytes class, the PRNG state was not modified after
forking a child process. This could eventually lead to
SecureRandom.random_bytes returning the same string more than once. An
attacker keeping track of the strings returned by one child process could
use this flaw to predict the strings SecureRandom.random_bytes would return
in other child processes (as long as the parent process persisted).
This update also fixes the following bugs:
* The ruby package has been upgraded to upstream point release 1.8.7-p352,
which provides a number of bug fixes over the previous version. (BZ#706332)
* The MD5 message-digest algorithm is not a FIPS-approved algorithm.
Consequently, when a Ruby script attempted to calculate an MD5 checksum in
FIPS mode, the interpreter terminated unexpectedly. This bug has been fixed
and an exception is now raised in the described scenario. (BZ#717709)
* Due to inappropriately handled line continuations in the mkconfig.rb
source file, an attempt to build the ruby package resulted in unexpected
termination. An upstream patch has been applied to address this issue and
the ruby package can now be built properly. (BZ#730287)
* When the 32-bit ruby-libs library was installed on a 64-bit machine, the
mkmf library failed to load various modules necessary for building
Ruby-related packages. This bug has been fixed and mkmf now works properly
in the described scenario. (BZ#674787)
* Previously, the load paths for scripts and binary modules were duplicated
on the i386 architecture. Consequently, an ActiveSupport test failed. With
this update, the load paths are no longer stored in duplicates on the i386
This update also adds the following enhancement:
* With this update, SystemTap probes have been added to the ruby package.
All users of ruby are advised to upgrade to these updated packages, which
resolve these issues and add this enhancement.
– Scientific Linux Development Team