FreeBSD Security Advisory FreeBSD-SA-07:09.random
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-07:09.random Security Advisory
The FreeBSD Project
Topic: Random value disclosure
Category: core
Module: sys_dev_random
Announced: 2007-11-29
Credits: Robert Woolley
Affects: All supported versions of FreeBSD
Corrected: 2007-11-29 16:05:38 UTC (RELENG_7, 7.0-BETA4)
2007-11-29 16:06:12 UTC (RELENG_6, 6.3-PRERELEASE)
2007-11-29 16:06:54 UTC (RELENG_6_3, 6.3-RC2)
2007-11-29 16:07:30 UTC (RELENG_6_2, 6.2-RELEASE-p9)
2007-11-29 16:07:54 UTC (RELENG_6_1, 6.1-RELEASE-p21)
2007-11-29 16:08:54 UTC (RELENG_5, 5.5-STABLE)
2007-11-29 16:09:26 UTC (RELENG_5_5, 5.5-RELEASE-p17)
CVE Name: CVE-2007-6150
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.
I. Background
The random(4) and urandom(4) devices return an endless supply of
pseudo-random bytes when read. Cryptographic algorithms often depend
on the secrecy of these pseudo-random values for security.
II. Problem Description
Under certain circumstances, a bug in the internal state tracking on
the random(4) and urandom(4) devices can be exploited to allow replaying
of data distributed during subsequent reads.
III. Impact
This could enable an adversary to determine fragments of random values
previously read, allowing them to defeat certain security mechanisms.
Note that the attacker has to be in close proximity to the source of
the pseudo-randomness, which typically means local access to the system.
IV. Workaround
No workaround is available.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 5-STABLE, or 6-STABLE, or to the
RELENG_6_2, RELENG_6_1, or RELENG_5_5 security branch dated after the
correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 5.5, 6.1,
and 6.2 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-07:09/random.patch
# fetch http://security.FreeBSD.org/patches/SA-07:09/random.patch.asc
b) Apply the patch.
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
system.
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_5
src/sys/dev/random/yarrow.c 1.44.2.1
RELENG_5_5
src/UPDATING 1.342.2.35.2.17
src/sys/conf/newvers.sh 1.62.2.21.2.19
src/sys/dev/random/yarrow.c 1.44.8.1
RELENG_6
src/sys/dev/random/yarrow.c 1.45.2.2
RELENG_6_3
src/UPDATING 1.416.2.37.2.2
src/sys/dev/random/yarrow.c 1.45.2.1.6.1
RELENG_6_2
src/UPDATING 1.416.2.29.2.12
src/sys/conf/newvers.sh 1.69.2.13.2.12
src/sys/dev/random/yarrow.c 1.45.2.1.4.1
RELENG_6_1
src/UPDATING 1.416.2.22.2.23
src/sys/conf/newvers.sh 1.69.2.11.2.23
src/sys/dev/random/yarrow.c 1.45.2.1.2.1
RELENG_7
src/sys/dev/random/yarrow.c 1.47.2.1
- -------------------------------------------------------------------------
VII. References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6150
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-07:09.random.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)
iD8DBQFHTuezFdaIBMps37IRAhp3AJ0UHJiYycOQCEai3Aid2uT6Jf3WZwCfdR65
Ozmn0Qn6Ru54NRriBJG1o4g=
=95t9
-----END PGP SIGNATURE-----