DNSpooq – Ny DNS-attack
DNSpooq är det fiffiga namnet på en ny cache-poisoning attack mot mjukvaran Dnsmasq. Dnsmasq är en liten cachande rekursiv resolver som vanligtvis finnes i olika typer av inbyggda enheter såsom mobiltelefoner, Cisco-enheter, brandväggar, Ubiquiti-produkter för att nämna några av de 40 olika tillverkarna som skeppar med dnsmasq. Företaget som ligger bakom attacken har räknat ut att det finns ungefär 1 miljon sårbara enheter som är direkt kopplade till internet och troligtvis många fler som inte går att nå från internet.
DNSpooq består av flertalet olika sårbarheter som identifierats och ser ut enligt följande:
Och kan sammanfattas med följande citat:
The vulnerabilities all reduce the entropy of identiers TXID (Transaction ID) and source port and their combination, which should consist of 32 non-predictable bits in total, according to [8]. The vulnerabilities need to be combined in order to produce a feasible attack.
En dnsspoof-attack kan visas på följande sätt:
Förutom cachespoofnings-attackerna som identifierats har även fyra buffer-overflow sårbarheter identifierats i hanteringen av DNSSEC i dnsmasq.
Alla versioner av dnsmasq före 2.83 är sårbara för dessa attacker. Och denna version släpps idag den 19:de Januari.
Rapporten från JSOF går att ladda hem som PDF här.
Listan med CVE:er är följande:
- CVE-2020-25681: A heap-based buffer overflow in dnsmasq in the way it sorts RRSets before validating them with DNSSEC data in an unsolicited DNS response
- CVE-2020-25682: A buffer overflow vulnerability in the way dnsmasq extract names from DNS packets before validating them with DNSSEC data
- CVE-2020-25683: A heap-based buffer overflow in get_rdata subroutine of dnsmasq, when DNSSEC is enabled and before it validates the received DNS entries
- CVE-2020-25687: A heap-based buffer overflow in sort_rrset subroutine of dnsmasq, when DNSSEC is enabled and before it validates the received DNS entries
- CVE-2020-25684: Dnsmasq does not validate the combination of address/port and the query-id fields of DNS request when accepting DNS responses
- CVE-2020-25685: Dnsmasq uses a weak hashing algorithm (CRC32) when compiled without DNSSEC to validate DNS responses
- CVE-2020-25686: Dnsmasq does not check for an existing pending request for the same name and forwards a new request thus allowing an attacker to perform a ”Birthday Attack” scenario to forge replies and potentially poison the DNS cache