Nylig har informasjon om identifiserte 7 sårbarheter i Dnsmasq-pakken, som kombinerer en hurtigbufret DNS-resolver og en DHCP-server, som ble tildelt kodenavnet DNSpooq. Problemets tillater useriøse DNS-cacheangrep eller bufferoverløp som kan føre til ekstern kjøring av angriperens kode.
Selv om nylig Dnsmasq brukes ikke lenger som en løsning i vanlige Linux-distribusjoner, men brukes fortsatt i Android og spesialiserte distribusjoner som OpenWrt og DD-WRT, samt firmware for trådløse rutere fra mange produsenter. I normale distribusjoner er implisitt bruk av dnsmasq mulig, for eksempel når du bruker libvirt, kan det startes for å tilby DNS-tjenester på virtuelle maskiner, eller det kan aktiveres ved å endre innstillingene i NetworkManager-konfiguratoren.
Siden kulturens oppgraderingskultur etterlater mye å være ønsket, Forskere frykter identifiserte problemer kan forbli uløste i lang tid og vil være involvert i automatiserte angrep på rutere for å få kontroll over dem eller omdirigere brukere til useriøse nettsteder.
Det er omtrent 40 selskaper basert på Dnsmasq, inkludert Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE og Zyxel. Brukere av slike enheter kan advares mot ikke å bruke den vanlige DNS-henvendelsestjenesten som tilbys på dem.
Den første delen av sårbarhetene oppdaget i Dnsmasq refererer til beskyttelse mot DNS-cache-forgiftningsangrep, basert på en metode foreslått i 2008 av Dan Kaminsky.
Identifiserte problemer gjør eksisterende beskyttelse ineffektiv og tillat spoofing IP-adressen til et vilkårlig domene i hurtigbufferen. Kaminskys metode manipulerer den ubetydelige størrelsen på DNS-spørrings-ID-feltet, som bare er 16 bits.
For å finne riktig identifikator som trengs for å forfalske vertsnavnet, er det bare å sende rundt 7.000 forespørsler og simulere rundt 140.000 XNUMX falske svar. Angrepet innebærer å sende et stort antall falske IP-bundne pakker til DNS-løseren med forskjellige DNS-transaksjonsidentifikatorer.
Identifiserte sårbarheter reduserer 32-biters entropinivå forventes å måtte gjette 19 bits, noe som gjør et cache-forgiftningsangrep ganske realistisk. I tillegg tillater dnsmasqs håndtering av CNAME-poster det å spoof CNAME-platekjeden for effektivt å spoof opptil 9 DNS-poster om gangen.
- CVE-2020-25684: manglende validering av forespørsel-ID i kombinasjon med IP-adresse og portnummer når du behandler DNS-svar fra eksterne servere. Denne oppførselen er inkompatibel med RFC-5452, som krever at flere forespørselsattributter skal brukes når du samsvarer med et svar.
- CVE-2020-25686: Mangel på validering av ventende forespørsler med samme navn, slik at bruken av bursdagsmetoden reduserer antall forsøk som kreves for å forfalske et svar betydelig. I kombinasjon med CVE-2020-25684-sårbarheten, kan denne funksjonen redusere angrepets kompleksitet betydelig.
- CVE-2020-25685: bruk av upålitelig CRC32 hashingalgoritme når du verifiserer svar, i tilfelle kompilering uten DNSSEC (SHA-1 brukes med DNSSEC). Sårbarheten kan brukes til å redusere antall forsøk betydelig ved å tillate deg å utnytte domener som har samme CRC32-hash som måldomenet.
- Det andre settet med problemer (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 og CVE-2020-25687) er forårsaket av feil som forårsaker bufferoverløp ved behandling av visse eksterne data.
- For sårbarhetene CVE-2020-25681 og CVE-2020-25682 er det mulig å lage utnyttelser som kan føre til kjøring av kode på systemet.
Endelig er det nevnt at sårbarheter er adressert i Dnsmasq 2.83-oppdateringen og som en løsning anbefales det å deaktivere DNSSEC og hurtigbufring ved å bruke kommandolinjealternativer.
Fuente: https://kb.cert.org