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, 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)wheezy1.4-2fixed
stretch, sid, jessie1.5.0~rc1-1fixed
bind9 (PTS)wheezy (security), wheezy1:9.8.4.dfsg.P1-6+nmu2+deb7u10fixed
jessie (security), jessie1:9.9.5.dfsg-9+deb8u6fixed
stretch, sid1:9.10.3.dfsg.P4-10fixed
dnsmasq (PTS)wheezy (security), wheezy2.62-3+deb7u3fixed
jessie (security), jessie2.72-3+deb8u1fixed
stretch, sid2.76-1fixed
dnspython (PTS)wheezy1.10.0-1vulnerable
jessie1.12.0-1vulnerable
stretch, sid1.14.0-1vulnerable
libnet-dns-perl (PTS)wheezy0.66-2fixed
jessie0.81-2fixed
stretch1.05-2fixed
sid1.06-1fixed
pdnsd (PTS)wheezy1.2.8-par-3fixed
jessie1.2.9a-par-2fixed
stretch, sid1.2.9a-par-3fixed
python-dns (PTS)wheezy2.3.6-1+deb7u1fixed
stretch, sid, jessie2.3.6-3fixed
refpolicy (PTS)wheezy2:2.20110726-12fixed
stretch, sid2:2.20140421-12fixed
udns (PTS)stretch, sid, jessie0.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