-----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-----
