≡ Menu

random number generator

FreeBSD Kernel Critical Update: arc4random predictable sequence vulnerability

FreeBSD today released a core (kernel) patched to plug "arc4random predictable sequence vulnerability" security hole in its operating systems version 6.x and 7.x stable release. When the arc4random random number generator is initialized, there may be inadequate entropy to meet the needs of kernel systems which rely on arc4random; and it may take up to 5 minutes before arc4random is reseeded with secure entropy from the Yarrow random number generator. All security-related kernel subsystems that rely on a quality random number generator are subject to a wide range of possible attacks. This update has been rated as having important security impact.

More about arc4random

arc4random(9) is a generic-purpose random number generator based on the key stream generator of the RC4 cipher. It is expected to be cryptographically strong, and used throughout the FreeBSD kernel for a variety of purposes, some of which rely on its cryptographic strength. arc4random(9) is periodically reseeded with entropy from the FreeBSD kernel's Yarrow random number generator, which gathers entropy from a variety of sources including hardware interrupts. During the boot process, additional entropy is provided to the Yarrow random number generator from userland, helping to ensure that adequate entropy is present for cryptographic purposes.


All security-related kernel subsystems that rely on a quality random number generator are subject to a wide range of possible attacks for the 300 seconds after boot or until 64k of random data is consumed.

How do I patch my FreeBSD system?

Upgrade your vulnerable system to 6-STABLE, or 7-STABLE, or to the RELENG_7_0, or RELENG_6_3 security branch using csup command. This will fix the problem.

How to patch current system?

The following patches have been verified to apply to FreeBSD 6.3 and 7.0 systems.

Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility.

Download FreeBSD 7.x patch

# cd /tmp
# fetch http://security.FreeBSD.org/patches/SA-08:11/arc4random.patch
# fetch http://security.FreeBSD.org/patches/SA-08:11/arc4random.patch.asc

Verify patch, enter:
# gpg --verify arc4random.patch.asc arc4random.patch

To apply the patch, enter:
# cd /usr/src
# patch /tmp/arc4random.patch

Download FreeBSD 6.x patch

# cd /tmp
# fetch http://security.FreeBSD.org/patches/SA-08:11/arc4random6x.patch
# fetch http://security.FreeBSD.org/patches/SA-08:11/arc4random6x.patch.asc

Verify patch, enter:
# gpg --verify arc4random6x.patch.asc arc4random6x.patch
To apply the patch, enter:
# cd /usr/src
# patch /tmp/arc4random6x.patch

Recompile your kernel

Now recompile your kernel:
# make kernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC

Replace GENERIC with your actual kernel name. Finally, reboot the system:
# reboot
Make sure everything is working fine, enter:
# uname -a
# tail -f /var/log/messages
# tail -f /path/to/other/log/files
# sockstat

Please see FreeBSD handbook for more information.

Impact of the Debian OpenSSL Vulnerability On other Linux Distribution

There was random number generator vulnerability in Debian OpenSSL package and similar packages in derived distributions such as Ubuntu / others. Many of our regular readers would like to know:

Can bug present in the Debian OpenSSL packages affect Red Hat / FreeBSD / CentOS Linux workstation / server users?

Short answer, yes.

All keys generated using Debian OpenSSL package must be replaced on other system including FreeBSD / CentOS / RHEL etc as all keys considered as compromized. OpenSSL, OpenSSH and OpenVPN are badly effected. For example, if you use OpenSSH key to get into other Linux / UNIX servers and if key-pair is generated with a vulnerable OpenSSL library, you are at the risk as the key can be reproduced easily.

Bottom, line you need to update keys on other boxes too.

Security Warning: Serious flaw in Debian Linux OpenSSL Package

There is a serious security flaw in Debian openssl - the random number generator in Debian's openssl package is predictable. As a result, cryptographic key material may be guessable.

=> Package : openssl
=> Vulnerability : predictable random number generator
=> Problem type : remote
=> Debian-specific: yes
=> CVE Id(s) : CVE-2008-0166
=> Checkout description and recommended fix at the following url:

[SECURITY] [DSA 1571-1] New openssl packages fix predictable random number generator