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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2020-25685
Vendor advisory: suse — https://www.suse.com/security/cve/CVE-2020-25685.html
Vendor advisory: arch — https://security.archlinux.org/ASA-202101-38
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| arch | fixed | 2.83-1 | |
| debian | bookworm | fixed | 2.83-1 |
| debian | bullseye | fixed | 2.83-1 |
| debian | forky | fixed | 2.83-1 |
| debian | sid | fixed | 2.83-1 |
| debian | trixie | fixed | 2.83-1 |
| sles | affected | |
References
Verify integrity in audit chain (admin only). AS-IS.