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.
[
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.83"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "32"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "33"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "10.0"
}
]
},
{
"events": [
{
"introduced": "4.21"
},
{
"fixed": "4.21.14m"
}
]
},
{
"events": [
{
"introduced": "4.22"
},
{
"fixed": "4.22.9m"
}
]
},
{
"events": [
{
"introduced": "4.23"
},
{
"fixed": "4.23.7m"
}
]
},
{
"events": [
{
"introduced": "4.24"
},
{
"fixed": "4.24.5m"
}
]
},
{
"events": [
{
"introduced": "4.25"
},
{
"fixed": "4.25.2f"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.83"
}
]
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-25685.json"