OpenBSD PRNG DNS Cache Poisoning and Predictable IP ID Weakness

BID:27647

Info

OpenBSD PRNG DNS Cache Poisoning and Predictable IP ID Weakness

Bugtraq ID: 27647
Class: Design Error
CVE: CVE-2008-1147
CVE-2008-1148
CVE-2008-1146
Remote: Yes
Local: No
Published: Feb 06 2008 12:00AM
Updated: Jul 06 2016 02:17PM
Credit: Amit Klein discovered this vulnerability.
Vulnerable: OpenBSD OpenBSD 2.9
OpenBSD OpenBSD 2.8
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 4.2
OpenBSD OpenBSD 4.1
OpenBSD OpenBSD 4.0
OpenBSD OpenBSD 3.9
OpenBSD OpenBSD 3.8
OpenBSD OpenBSD 3.7
OpenBSD OpenBSD 3.6
OpenBSD OpenBSD 3.5
OpenBSD OpenBSD 3.4
OpenBSD OpenBSD 3.3
OpenBSD OpenBSD 3.2
OpenBSD OpenBSD 3.1
OpenBSD OpenBSD 3.0
NetBSD NetBSD 3.0.2
NetBSD NetBSD 3.0.1
NetBSD NetBSD 2.1
NetBSD NetBSD 2.0.3
NetBSD NetBSD 2.0.2
NetBSD NetBSD 2.0.1
NetBSD NetBSD 2.0
NetBSD NetBSD 1.6.2
NetBSD NetBSD 4.0 BETA2
NetBSD NetBSD 4.0
NetBSD NetBSD 4,0_Beta
NetBSD NetBSD 3.1_RC3
NetBSD NetBSD 3.1
NetBSD NetBSD 3,1_RC1
NetBSD NetBSD 2.1.1
NetBSD NetBSD 2.0.4
Navision Financials Server 3.0
FreeBSD FreeBSD 6.0 .x
FreeBSD FreeBSD 6.0 -STABLE
FreeBSD FreeBSD 6.0 -RELEASE
FreeBSD FreeBSD 5.5 -STABLE
FreeBSD FreeBSD 5.5 -RELEASE
FreeBSD FreeBSD 5.4 -RELENG
FreeBSD FreeBSD 5.4 -RELEASE
FreeBSD FreeBSD 5.4 -PRERELEASE
FreeBSD FreeBSD 5.3 -STABLE
FreeBSD FreeBSD 5.3 -RELENG
FreeBSD FreeBSD 5.3 -RELEASE
FreeBSD FreeBSD 5.3
FreeBSD FreeBSD 5.2.1 -RELEASE
FreeBSD FreeBSD 5.2 -RELENG
FreeBSD FreeBSD 5.2 -RELEASE
FreeBSD FreeBSD 5.2
FreeBSD FreeBSD 5.1 -RELENG
FreeBSD FreeBSD 5.1 -RELEASE/Alpha
FreeBSD FreeBSD 5.1 -RELEASE-p5
FreeBSD FreeBSD 5.1 -RELEASE
FreeBSD FreeBSD 5.1
FreeBSD FreeBSD 5.0 .x
FreeBSD FreeBSD 5.0 -RELENG
FreeBSD FreeBSD 5.0 -RELEASE-p14
FreeBSD FreeBSD 5.0 alpha
FreeBSD FreeBSD 5.0
FreeBSD FreeBSD 4.11 -STABLE
FreeBSD FreeBSD 4.11 -RELENG
FreeBSD FreeBSD 4.11 -RELEASE-p3
FreeBSD FreeBSD 4.11 -RELEASE-p20
FreeBSD FreeBSD 4.11 -RELEASE
FreeBSD FreeBSD 4.10 -RELENG
FreeBSD FreeBSD 4.10 -RELEASE-p8
FreeBSD FreeBSD 4.10 -RELEASE
FreeBSD FreeBSD 4.10
FreeBSD FreeBSD 4.9 -RELENG
FreeBSD FreeBSD 4.9 -PRERELEASE
FreeBSD FreeBSD 4.9
FreeBSD FreeBSD 4.8 -RELENG
FreeBSD FreeBSD 4.8 -RELEASE-p7
FreeBSD FreeBSD 4.8 -PRERELEASE
FreeBSD FreeBSD 4.8
FreeBSD FreeBSD 4.7 -STABLE
FreeBSD FreeBSD 4.7 -RELENG
FreeBSD FreeBSD 4.7 -RELEASE-p17
FreeBSD FreeBSD 4.7 -RELEASE
FreeBSD FreeBSD 4.7
FreeBSD FreeBSD 4.6.2
FreeBSD FreeBSD 4.6 -STABLE
FreeBSD FreeBSD 4.6 -RELENG
FreeBSD FreeBSD 4.6 -RELEASE-p20
FreeBSD FreeBSD 4.6 -RELEASE
FreeBSD FreeBSD 4.6
FreeBSD FreeBSD 4.5 -STABLEpre2002-03-07
FreeBSD FreeBSD 4.5 -STABLE
FreeBSD FreeBSD 4.5 -RELENG
FreeBSD FreeBSD 4.5 -RELEASE-p32
FreeBSD FreeBSD 4.5 -RELEASE
FreeBSD FreeBSD 4.5
FreeBSD FreeBSD 4.4 -STABLE
FreeBSD FreeBSD 4.4 -RELENG
FreeBSD FreeBSD 4.4 -RELEASE-p42
FreeBSD FreeBSD 4.4
FreeBSD FreeBSD 7.0 BETA4
FreeBSD FreeBSD 7.0 -RELENG
FreeBSD FreeBSD 7.0 -PRERELEASE
FreeBSD FreeBSD 6.3 -RELENG
FreeBSD FreeBSD 6.3
FreeBSD FreeBSD 6.2 -STABLE
FreeBSD FreeBSD 6.2 -RELENG
FreeBSD FreeBSD 6.2
FreeBSD FreeBSD 6.1 -STABLE
FreeBSD FreeBSD 6.1 -RELEASE-p10
FreeBSD FreeBSD 6.1 -RELEASE
FreeBSD FreeBSD 6.0 -RELEASE-p5
FreeBSD FreeBSD 5.4-STABLE
FreeBSD FreeBSD 4.10-PRERELEASE
DragonFlyBSD DragonFlyBSD 1.10.1
DragonFlyBSD DragonFlyBSD 1.2
DragonFlyBSD DragonFlyBSD 1.1
DragonFlyBSD DragonFlyBSD 1.0
Darwin Darwin 9.1
Darwin Darwin 1.0
Cosmicperl Directory Pro 10.0.3
Apple Mac OS X Server 10.5.1
Apple Mac OS X Server 10.4.11
Apple Mac OS X Server 10.4.10
Apple Mac OS X Server 10.4.9
Apple Mac OS X Server 10.4.8
Apple Mac OS X Server 10.4.7
Apple Mac OS X Server 10.4.6
Apple Mac OS X Server 10.4.5
Apple Mac OS X Server 10.4.4
Apple Mac OS X Server 10.4.3
Apple Mac OS X Server 10.4.2
Apple Mac OS X Server 10.4.1
Apple Mac OS X Server 10.4
Apple Mac OS X Server 10.3.9
Apple Mac OS X Server 10.3.8
Apple Mac OS X Server 10.3.7
Apple Mac OS X Server 10.3.6
Apple Mac OS X Server 10.3.5
Apple Mac OS X Server 10.3.4
Apple Mac OS X Server 10.3.3
Apple Mac OS X Server 10.3.2
Apple Mac OS X Server 10.3.1
Apple Mac OS X Server 10.3
Apple Mac OS X Server 10.2.8
Apple Mac OS X Server 10.2.7
Apple Mac OS X Server 10.2.6
Apple Mac OS X Server 10.2.5
Apple Mac OS X Server 10.2.4
Apple Mac OS X Server 10.2.3
Apple Mac OS X Server 10.2.2
Apple Mac OS X Server 10.2.1
Apple Mac OS X Server 10.2
Apple Mac OS X Server 10.1.5
Apple Mac OS X Server 10.1.4
Apple Mac OS X Server 10.1.3
Apple Mac OS X Server 10.1.2
Apple Mac OS X Server 10.1.1
Apple Mac OS X Server 10.1
Apple Mac OS X Server 10.0
Apple Mac OS X Server 10.5
Apple Mac OS X 10.5.1
Apple Mac OS X 10.4.11
Apple Mac OS X 10.4.10
Apple Mac OS X 10.4.9
Apple Mac OS X 10.4.8
Apple Mac OS X 10.4.7
Apple Mac OS X 10.4.6
Apple Mac OS X 10.4.5
Apple Mac OS X 10.4.4
Apple Mac OS X 10.4.3
Apple Mac OS X 10.4.2
Apple Mac OS X 10.4.1
Apple Mac OS X 10.4
Apple Mac OS X 10.3.9
Apple Mac OS X 10.3.8
Apple Mac OS X 10.3.7
Apple Mac OS X 10.3.6
Apple Mac OS X 10.3.5
Apple Mac OS X 10.3.4
Apple Mac OS X 10.3.3
Apple Mac OS X 10.3.2
Apple Mac OS X 10.3.1
Apple Mac OS X 10.3
Apple Mac OS X 10.2.8
Apple Mac OS X 10.2.7
Apple Mac OS X 10.2.6
Apple Mac OS X 10.2.5
Apple Mac OS X 10.2.4
Apple Mac OS X 10.2.3
Apple Mac OS X 10.2.2
Apple Mac OS X 10.2.1
Apple Mac OS X 10.2
Apple Mac OS X 10.1.5
Apple Mac OS X 10.1.4
Apple Mac OS X 10.1.3
Apple Mac OS X 10.1.2
Apple Mac OS X 10.1.1
Apple Mac OS X 10.1
Apple Mac OS X 10.0.4
Apple Mac OS X 10.0.2
Apple Mac OS X 10.0.1
Apple Mac OS X 10.0
Apple Mac OS X 10.5
Not Vulnerable: OpenBSD OpenBSD 4.3

Discussion

OpenBSD PRNG DNS Cache Poisoning and Predictable IP ID Weakness

A PRNG originating in OpenBSD is prone to a weakness that exposes DNS cache-poisoning and predictable IP ID sequence issues. This issue stems from a flaw in the linear congruential generator (LCG) pseudo-random number generator (PRNG) algorithm.

An attacker may leverage this issue to manipulate DNS cache data, potentially facilitating man-in-the-middle, site-impersonation, or denial-of-service attacks. The attacker may also predict IP ID sequences, allowing them to perform OS fingerprinting, network idle-scanning, and potentially TCP blind data-injection attacks.

The BIND 9 server included in OpenBSD 3.3 through to 4.2 is vulnerable to this issue. The vulnerable PRNG algorithm and variants are also used in the IP ID sequence generation in OpenBSD 2.6 through to 4.2.

The vulnerable PRNG has also been ported to other operating systems, including:

Mac OS X and Mac OS X Server 10.0 through to 10.5.1
Darwin 1.0 through to 9.1
FreeBSD 4.4 through to 7.0
NetBSD 1.6.2 through to 4.0
DragonFlyBSD 1.0 through to 1.10.1.

FreeBSD, NetBSD, and DragonFlyBSD are affected only if they enable the PRNG's use through the 'net.inet.ip.random_id' sysctl to 1. This is a nondefault configuration change.

Other operating systems and versions may also be affected.

Exploit / POC

OpenBSD PRNG DNS Cache Poisoning and Predictable IP ID Weakness

Proof-of-concept exploit code is available in the referenced PDF document by Amit Klein.

Solution / Fix

OpenBSD PRNG DNS Cache Poisoning and Predictable IP ID Weakness

Solution:
Fixes are available for OpenBSD, FreeBSD, NetBSD, and DragonFlyBSD. Apple is reportedly working on a fix for Mac OS X.

Please see the references for more information.

References

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report