Name | CVE-2020-25685 |
Description | A flaw was found in dnsmasq before version 2.83. When getting a reply from a forwarded query, dnsmasq checks in forward.c:reply_query(), which is the forwarded query that matches the reply, by only using a weak hash of the query name. Due to the weak hash (CRC32 when dnsmasq is compiled without DNSSEC, SHA-1 when it is) this flaw allows an off-path attacker to find several different domains all having the same hash, substantially reducing the number of attempts they would have to perform to forge a reply and get it accepted by dnsmasq. This is in contrast with RFC5452, which specifies that the query name is one of the attributes of a query that must be used to match a reply. This flaw could be abused to perform a DNS Cache Poisoning attack. If chained with CVE-2020-25684 the attack complexity of a successful attack is reduced. The highest threat from this vulnerability is to data integrity. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DSA-4844-1 |
Vulnerable and fixed packages
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|
dnsmasq (PTS) | jessie, jessie (lts) | 2.72-3+deb8u7 | vulnerable |
| stretch (security) | 2.76-5+deb9u3 | vulnerable |
| stretch (lts), stretch | 2.76-5+deb9u4 | vulnerable |
| buster, buster (lts) | 2.80-1+deb10u3 | fixed |
| buster (security) | 2.80-1+deb10u1 | fixed |
| bullseye | 2.85-1 | fixed |
| bullseye (security) | 2.85-1+deb11u1 | fixed |
| bookworm | 2.89-1 | fixed |
| sid, trixie | 2.90-7 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|
dnsmasq | source | buster | 2.80-1+deb10u1 | | DSA-4844-1 | |
dnsmasq | source | (unstable) | 2.83-1 | | | |
Notes
[stretch] - dnsmasq <ignored> (Minor issue, off-path DNS-non-sec cache poisoning, mitigated by CVE-2020-25684 fix, stretch uses SHA-1 and not CRC32)
https://www.openwall.com/lists/oss-security/2021/01/19/1
https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=2d765867c597db18be9d876c9c17e2c0fe1953cd
https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=2024f9729713fd657d65e64c2e4e471baa0a3e5b
[jessie] - dnsmasq <ignored> (Minor issue, off-path DNS-non-sec cache poisoning, mitigated by CVE-2020-25684 fix, jessie uses SHA-1 and not CRC32)