CVE-2008-1447
Description
The DNS protocol, as implemented in (1) BIND 8 and 9 before 9.5.0-P1, 9.4.2-P1, and 9.3.5-P1; (2) Microsoft DNS in Windows 2000 SP4, XP SP2 and SP3, and Server 2003 SP1 and SP2; and other implementations allow remote attackers to spoof DNS traffic via a birthday attack that uses in-bailiwick referrals to conduct cache poisoning against recursive resolvers, related to insufficient randomness of DNS transaction IDs and source ports, aka "DNS Insufficient Socket Entropy Vulnerability" or "the Kaminsky bug."
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Mitigation details
CVE-2008-1447 NameCVE-2008-1447 DescriptionThe DNS protocol, as implemented in (1) BIND 8 and 9 before 9.5.0-P1, 9.4.2-P1, and 9.3.5-P1; (2) Microsoft DNS in Windows 2000 SP4, XP SP2 and SP3, and Server 2003 SP1 and SP2; and other implementations allow remote attackers to spoof DNS traffic via a birthday attack that uses in-bailiwick referrals to conduct cache poisoning against recursive…
CVE-2008-1447
| Name | CVE-2008-1447 |
| Description | The DNS protocol, as implemented in (1) BIND 8 and 9 before 9.5.0-P1, 9.4.2-P1, and 9.3.5-P1; (2) Microsoft DNS in Windows 2000 SP4, XP SP2 and SP3, and Server 2003 SP1 and SP2; and other implementations allow remote attackers to spoof DNS traffic via a birthday attack that uses in-bailiwick referrals to conduct cache poisoning against recursive resolvers, related to insufficient randomness of DNS transaction IDs and source ports, aka "DNS Insufficient Socket Entropy Vulnerability" or "the Kaminsky bug." |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| References | DSA-1603-1, DSA-1604-1, DSA-1605-1, DSA-1617-1, DSA-1619-1, DSA-1623-1, DTSA-147-1 |
| Debian Bugs | 490123, 490217, 492465, 492698, 492700, 493599, 502275 |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| adns (PTS) | bookworm, bullseye | 1.6.0-2 | fixed |
| trixie | 1.6.1-1 | fixed | |
| forky, sid | 1.6.2-3 | fixed | |
| bind9 (PTS) | bullseye | 1:9.16.50-1~deb11u2 | fixed |
| bullseye (security) | 1:9.16.50-1~deb11u5 | fixed | |
| bookworm | 1:9.18.47-1~deb12u1 | fixed | |
| bookworm (security) | 1:9.18.49-1~deb12u1 | fixed | |
| trixie | 1:9.20.21-1~deb13u1 | fixed | |
| trixie (security) | 1:9.20.23-1~deb13u1 | fixed | |
| forky, sid | 1:9.20.23-1 | fixed | |
| dnsmasq (PTS) | bullseye | 2.85-1 | fixed |
| bullseye (security) | 2.85-1+deb11u1 | fixed | |
| bookworm, bookworm (security) | 2.90-4~deb12u2 | fixed | |
| trixie (security), trixie | 2.91-1+deb13u1 | fixed | |
| forky, sid | 2.92-5 | fixed | |
| dnspython (PTS) | bullseye | 2.0.0-1 | fixed |
| bookworm | 2.3.0-1 | fixed | |
| trixie | 2.7.0-1 | fixed | |
| forky, sid | 2.8.0-3 | fixed | |
| libnet-dns-perl (PTS) | bullseye | 1.29-1 | fixed |
| bookworm | 1.36-1 | fixed | |
| trixie | 1.50-1 | fixed | |
| forky, sid | 1.54-1 | fixed | |
| refpolicy (PTS) | bullseye | 2:2.20210203-7 | fixed |
| bookworm | 2:2.20221101-9 | fixed | |
| trixie | 2:2.20250213-10 | fixed | |
| forky, sid | 2:2.20250213-13 | fixed | |
| udns (PTS) | bookworm, bullseye | 0.4-1 | fixed |
| forky, sid, trixie | 0.6-1 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| adns | source | (unstable) | 1.4-2 | unimportant | 492698 | |
| bind9 | source | etch | 1:9.3.4-2etch3 | DSA-1603-1 | ||
| bind9 | source | lenny | 1:9.4.2-10+lenny1 | DTSA-147-1 | ||
| bind9 | source | (unstable) | 1:9.5.0.dfsg-5 | high | ||
| dnsmasq | source | etch | 2.35-1+etch4 | DSA-1623-1 | ||
| dnsmasq | source | (unstable) | 2.43-1 | medium | 490123 | |
| dnspython | source | (unstable) | 1.7.1-1 | unimportant | 492465 | |
| libnet-dns-perl | source | (unstable) | 0.63-2 | low | 492700 | |
| pdnsd | source | (unstable) | 1.2.6-par-11 | 502275 | ||
| python-dns | source | etch | 2.3.0-5.2+etch1 | DSA-1619-1 | ||
| python-dns | source | (unstable) | 2.3.1-5 | low | 490217 | |
| refpolicy | source | etch | 0.0.20061018-5.1+etch1 | DSA-1617-1 | ||
| refpolicy | source | (unstable) | 2:0.0.20080702-1 | |||
| ruby1.9 | source | (unstable) | 1.9.0.2-6 | low | ||
| udns | source | (unstable) | 0.2-1 | 493599 |
Notes
glibc stub resolver relies on source port randomisation in kernel
Just a stub resolver Linux kernel provides source port randomisation
adns is not suitable to use with untrusted responses, documented in README.Debian
Source port randomization from Lenny kernel should provide sufficient protection
since this is just a Perl nodule for DNS queries and not a high-profile server app like
Bind, it's unlikely that a home-grown fix will provide an implementation of higher
cryptographical quality. Marking the version from Lenny as fixed, since Lenny includes
a kernel which provides source port randomization
Unbound, djbdns, pdnsd and PowerDNS are affected by the underlying protocol issue, but
already use source port randomization.
Marking non-caching stub resolvers as low since these really should be fixed,
but are much less vulnerable than a caching server.
Apply commands
glibc stub resolver relies on source port randomisation in kernelJust a stub resolver Linux kernel provides source port randomisationadns is not suitable to use with untrusted responses, documented in README.DebianSource port randomization from Lenny kernel should provide sufficient protectionsince this is just a Perl nodule for DNS queries and not a high-profile server app likeBind, it's unlikely that a home-grown fix will provide an implementation of highercryptographical quality. Marking the version from Lenny as fixed, since Lenny includesa kernel which provides source port randomizationUnbound, djbdns, pdnsd and PowerDNS are affected by the underlying protocol issue, butalready use source port randomization.Marking non-caching stub resolvers as low since these really should be fixed,but are much less vulnerable than a caching server.
Exploits
Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.
Exploit-DB
BIND 9.4.1 < 9.4.2 - Remote DNS Cache Poisoning (Metasploit)
Metasploit modules
OS impact
Debian Fixed 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Fixed | 1.4-2 |
| sid | Fixed | 1.4-2 |
| forky | Fixed | 1.4-2 |
| bullseye | Fixed | 1.4-2 |
| bookworm | Fixed | 1.4-2 |
References
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.