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 resolvers, related to insufficient randomness of DNS transaction IDs and source ports, aka "DNS Insufficient Socket Entropy Vulnerability" or "the Kaminsky bug."
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
ReferencesDSA-1603-1, DSA-1604-1, DSA-1605-1, DSA-1617-1, DSA-1619-1, DSA-1623-1, DTSA-147-1
NVD severitymedium (attack range: remote)
Debian Bugs490123, 490217, 492465, 492698, 492700, 493599, 502275

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
adns (PTS)jessie, stretch1.5.0~rc1-1fixed
buster, sid1.5.0~rc1-1.1fixed
bind9 (PTS)jessie1:9.9.5.dfsg-9+deb8u15fixed
jessie (security)1:9.9.5.dfsg-9+deb8u16fixed
stretch (security), stretch1:9.10.3.dfsg.P4-12.3+deb9u4fixed
buster, sid1:9.11.5+dfsg-1fixed
dnsmasq (PTS)jessie2.72-3+deb8u2fixed
jessie (security)2.72-3+deb8u4fixed
stretch2.76-5+deb9u2fixed
stretch (security)2.76-5+deb9u1fixed
buster, sid2.80-1fixed
dnspython (PTS)jessie1.12.0-1vulnerable
stretch1.15.0-1vulnerable
buster, sid1.15.0-2vulnerable
libnet-dns-perl (PTS)jessie (security), jessie0.81-2+deb8u1fixed
stretch1.07-1fixed
buster, sid1.17-1fixed
pdnsd (PTS)jessie1.2.9a-par-2fixed
python-dns (PTS)jessie, stretch2.3.6-3fixed
buster, sid2.3.6-4fixed
refpolicy (PTS)stretch2:2.20161023.1-9fixed
buster, sid2:2.20180114-4fixed
udns (PTS)buster, sid, jessie, stretch0.4-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
adnssource(unstable)1.4-2unimportant492698
bind9source(unstable)1:9.5.0.dfsg-5high
bind9sourceetch1:9.3.4-2etch3mediumDSA-1603-1
bind9sourcelenny1:9.4.2-10+lenny1mediumDTSA-147-1
dnsmasqsource(unstable)2.43-1medium490123
dnsmasqsourceetch2.35-1+etch4mediumDSA-1623-1
dnspythonsource(unstable)(unfixed)unimportant492465
libnet-dns-perlsource(unstable)0.63-2low492700
pdnsdsource(unstable)1.2.6-par-11medium502275
python-dnssource(unstable)2.3.1-5low490217
python-dnssourceetch2.3.0-5.2+etch1mediumDSA-1619-1
refpolicysource(unstable)2:0.0.20080702-1medium
refpolicysourceetch0.0.20061018-5.1+etch1mediumDSA-1617-1
ruby1.9source(unstable)1.9.0.2-6low
udnssource(unstable)0.2-1medium493599

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.

Search for package or bug name: Reporting problems