Zraniteľnosti nájdené v serveri Dnsmasq umožňujú spoofing obsahu v medzipamäti DNS

Nedávno boli zverejnené informácie týkajúce sa identifikácie siedmich zraniteľností v balíku Dnsmasq, ktorý kombinuje DNS resolver na ukladanie do vyrovnávacej pamäte a DHCP server s kódovým označením DNSpooq. Tieto problémy umožňujú falošné útoky na DNS vyrovnávaciu pamäť alebo pretečenie vyrovnávacej pamäte , čo by mohlo viesť k vzdialenému spusteniu kódu útočníkom.

Hoci Dnsmasq bol nedávno zastaraný ako predvolený resolver v štandardných distribúciách Linuxu, stále sa používa v systéme Android a špecializovaných distribúciách ako OpenWrt a DD-WRT, ako aj vo firmvéri mnohých bezdrôtových smerovačov. V štandardných distribúciách je možné implicitné použitie dnsmasq; napríklad pri použití libvirt ho možno spustiť na poskytovanie služby DNS vo virtuálnych počítačoch alebo ho povoliť zmenou nastavení v konfigurátore NetworkManager.

Vzhľadom na to, že kultúra aktualizácií bezdrôtových smerovačov necháva veľa priestoru na zlepšenie, výskumníci sa obávajú, že identifikované problémy môžu zostať dlho nevyriešené a stať sa terčom automatizovaných útokov na smerovače s cieľom získať nad nimi kontrolu alebo presmerovať používateľov na falošné škodlivé stránky.

Na Dnsmasq sa spolieha približne 40 spoločností , vrátane Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE a Zyxel. Používateľom týchto zariadení sa môže odporučiť, aby nepoužívali vstavanú službu preposielania DNS dotazov.

Prvá časť zraniteľností objavených v Dnsmasq sa týka ochrany pred útokmi typu DNS cache poisoning, založenej na metóde, ktorú v roku 2008 navrhol Dan Kaminsky.

Identifikované zraniteľnosti znefunkčnili existujúcu ochranu a umožnili falšovanie IP adresy ľubovoľnej domény vo vyrovnávacej pamäti. Kaminského metóda manipuluje so zanedbateľnou veľkosťou identifikačného poľa DNS dotazu, ktoré má iba 16 bitov.

Na nájdenie správneho identifikátora potrebného na falšovanie názvu hostiteľa stačí odoslať približne 7 000 požiadaviek a simulovať okolo 140 000 falošných odpovedí. Útok sa zredukuje na odoslanie veľkého množstva sfalšovaných paketov prepojených s IP adresami do DNS resolveru s rôznymi identifikátormi DNS transakcií.

Identifikované zraniteľnosti znižujú očakávanú úroveň entropie z 32 bitov na 19-bitovú požiadavku na odhad, čím sa útok na poisoning cache pamäte stáva celkom realistickým. Okrem toho, spracovanie záznamov CNAME nástrojom dnsmasq mu umožňuje falšovať reťazec záznamu CNAME a efektívne falšovať až deväť záznamov DNS naraz.

  • CVE-2020-25684: nedostatočné overenie ID žiadosti v kombinácii s IP adresou a číslom portu pri spracovávaní odpovedí DNS z externých serverov. Toto správanie je nekompatibilné s RFC-5452, ktoré si vyžaduje použitie ďalších atribútov požiadavky pri zhode s odpoveďou.
  • CVE-2020-25686: Nepodarilo sa overiť nevybavené žiadosti s rovnakým názvom, čo umožňuje použitiu metódy narodenia výrazne znížiť počet pokusov potrebných na vytvorenie odpovede. V kombinácii so zraniteľnosťou CVE-2020-25684 môže táto funkcia výrazne znížiť zložitosť útoku.
  • CVE-2020-25685: použitie nespoľahlivého algoritmu hash CRC32 pri overovaní odpovedí, v prípade kompilácie bez DNSSEC (s DNSSEC sa používa SHA-1). Zraniteľnosť by sa mohla použiť na výrazné zníženie počtu pokusov tým, že vám umožní využívať domény, ktoré majú rovnaký hash CRC32 ako cieľová doména.
  • Druhá sada problémov (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 a CVE-2020-25687) je spôsobená chybami, ktoré spôsobujú pretečenie medzipamäte pri spracovaní určitých externých údajov.
  • V prípade zraniteľností CVE-2020-25681 a CVE-2020-25682 je možné vytvoriť zneužitia, ktoré by mohli viesť k spusteniu kódu v systéme.

Nakoniec sa uvádza, že zraniteľnosti sú riešené v aktualizácii Dnsmasq 2.83 a ako riešenie sa odporúča vypnúť DNSSEC a ukladanie dotazov do vyrovnávacej pamäte pomocou možností príkazového riadka.

Zdroj: https://kb.cert.org


Pridať ako preferovaný zdroj v Google