3571e53040
patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
134 lines
4.6 KiB
Text
134 lines
4.6 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-00:25 Security Advisory
|
|
FreeBSD, Inc.
|
|
|
|
Topic: FreeBSD/Alpha platform lacks kernel pseudo-random number
|
|
generator, some applications fail to detect this.
|
|
|
|
Category: core
|
|
Module: kernel
|
|
Announced: 2000-06-12
|
|
Affects: FreeBSD/Alpha prior to the correction date.
|
|
Corrected: 2000-05-10 (4.0-STABLE)
|
|
2000-04-28 (5.0-CURRENT)
|
|
FreeBSD only: Yes
|
|
|
|
I. Background
|
|
|
|
The FreeBSD kernel provides a cryptographic-strength pseudo-random
|
|
number generator via the /dev/random and /dev/urandom interfaces,
|
|
which samples hardware measurements to provide a high-quality source
|
|
of "entropy" (randomness).
|
|
|
|
II. Problem Description
|
|
|
|
The FreeBSD port to the Alpha platform did not provide the /dev/random
|
|
or /dev/urandom devices - this was an oversight during the development
|
|
process which was not corrected before the Alpha port "became
|
|
mainstream". FreeBSD/i386 is not affected.
|
|
|
|
As a consequence, there is no way for Alpha systems prior to the
|
|
correction date to obtain cryptographic-strength random numbers,
|
|
unless an application "rolls its own" entropy gathering
|
|
mechanism. This in itself is not a vulnerability, although it is an
|
|
omission and a departure from the expected behaviour of a FreeBSD
|
|
system.
|
|
|
|
The actual vulnerability is that some applications fail to correctly
|
|
check for a working /dev/random and do not exit with an error if it is
|
|
not available, so this weakness goes undetected. OpenSSL 0.9.4, and
|
|
utilities based on it, including OpenSSH (both of which are included
|
|
in the base FreeBSD 4.0 system) are affected in this manner (this bug
|
|
was corrected in OpenSSL 0.9.5)
|
|
|
|
Therefore, cryptographic security systems on vulnerable FreeBSD/Alpha
|
|
systems (including OpenSSH in the base FreeBSD 4.0 system) may have
|
|
weakened strength, and cryptographic keys generated on such systems
|
|
should not be trusted.
|
|
|
|
III. Impact
|
|
|
|
Cryptographic secrets (such as OpenSSH public/private keys) generated
|
|
on FreeBSD/Alpha systems may be much weaker than their "advertised"
|
|
strength, and may lead to data compromise to a dedicated and
|
|
knowledgeable attacker.
|
|
|
|
PGP/GnuPG keys, and keys generated by the SSH or SSH2 ports, are not
|
|
believed to be weakened since that software will correctly detect the
|
|
lack of a working /dev/random and use alternative sources of
|
|
entropy. OpenSSH and OpenSSL are currently the only known vulnerable
|
|
applications.
|
|
|
|
IV. Workaround
|
|
|
|
None available.
|
|
|
|
V. Solution
|
|
|
|
One of the following three options, followed by step 2).
|
|
|
|
1a) Upgrade your FreeBSD/Alpha system to FreeBSD 4.0-STABLE after the
|
|
correction date.
|
|
|
|
1b) install the patched 4.0-RELEASE GENERIC kernel available from:
|
|
|
|
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz
|
|
|
|
e.g. perform the following steps as root:
|
|
|
|
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz
|
|
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz.asc
|
|
|
|
[ Verify the detached PGP signature using your PGP utility - consult your
|
|
utility's documentation for how to do this ]
|
|
|
|
# gunzip kernel.gz
|
|
# cp /kernel /kernel.old
|
|
# chflags noschg /kernel
|
|
# cp kernel /kernel
|
|
# chflags schg /kernel
|
|
|
|
1c) Download the kernel source patch and rebuild your FreeBSD/Alpha
|
|
kernel, as follows:
|
|
|
|
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.sys.diff
|
|
|
|
Download the detached PGP signature:
|
|
|
|
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.sys.diff.asc
|
|
|
|
and verify the signature using your PGP utility.
|
|
|
|
Apply the patch:
|
|
|
|
# cd /usr/src
|
|
# patch -p < /path/to/kernel.sys.diff
|
|
|
|
Rebuild your kernel as described in
|
|
|
|
http://www.freebsd.org/handbook/kernelconfig.html
|
|
|
|
and reboot with the new kernel.
|
|
|
|
NOTE: Because of the significant improvements to the FreeBSD/Alpha
|
|
platform in FreeBSD 4.0, it is not planned at this time to backport
|
|
the necessary changes to FreeBSD 3.4-STABLE.
|
|
|
|
2) Immediately regenerate all OpenSSH-generated SSH keys and
|
|
OpenSSL-generated SSL certificates, and any other data relying on
|
|
cryptographic random numbers which were generated on FreeBSD/Alpha
|
|
systems, whose strength cannot be verified. [Note: for most systems,
|
|
the only significant vulnerability is likely to be from OpenSSH and
|
|
OpenSSL-generated keys and certificates (e.g. for SSL webservers)]
|
|
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: 2.6.2
|
|
|
|
iQCVAwUBOUVa6lUuHi5z0oilAQG/VQP/bXSr0YdjwTVuHrc1JOTzKMqSJYyff50d
|
|
6Jg7VNL+X2B7hQcWUC8Rn/m+qy6byc9g51v8Wyk70olUs1Fy4bTGh+iEpE0mbQ45
|
|
tx75z/Uhq46fYP3ldBx9XvXJQxRHXrPos7gfTOVVdJcchIIgJdtxC7LfvOswbnvY
|
|
EK+rxB2I9f8=
|
|
=ee12
|
|
-----END PGP SIGNATURE-----
|