Hiljuti avaldati teavet seitsme haavatavuse tuvastamise kohta Dnsmasq paketis, mis ühendab vahemällu salvestava DNS-resolveri ja DHCP-serveri koodnimega DNSpooq. Need probleemid võimaldavad võltsitud DNS-vahemälu rünnakuid või puhvri ületäitumist , mis võivad viia ründaja poolt koodi kaugkäivitamiseni.
Kuigi Dnsmasq on hiljuti standardsetes Linuxi distributsioonides vaikimisi lahendajana aegunud, kasutatakse seda endiselt Androidis ja spetsiaalsetes distributsioonides nagu OpenWrt ja DD-WRT, samuti paljude traadita ruuterite püsivaras. Standardsetes distributsioonides on dnsmasqi kaudne kasutamine võimalik; näiteks libvirti kasutamisel saab selle käivitada DNS-teenuse pakkumiseks virtuaalmasinates või lubada selle NetworkManageri konfiguraatori seadeid muutes.
Arvestades, et traadita ruuterite uuendamise kultuur jätab soovida, kardavad teadlased, et tuvastatud probleemid võivad jääda pikaks ajaks lahendamata ning muutuda ruuterite automaatsete rünnakute sihtmärgiks, et saada nende üle kontroll või suunata kasutajad võltsitud pahatahtlikele saitidele.
Dnsmasq-i kasutab ligikaudu 40 ettevõtet , sealhulgas Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE ja Zyxel. Nende seadmete kasutajatele ei pruugi olla soovitatav sisseehitatud DNS-päringute edastamise teenust kasutada.
Dnsmasqis avastatud haavatavuste esimene osa on seotud kaitsega DNS-vahemälu mürgitamise rünnakute eest, mis põhineb Dan Kaminsky poolt 2008. aastal välja pakutud meetodil.
Tuvastatud haavatavused muudavad olemasoleva kaitse ebaefektiivseks ja võimaldavad vahemälus suvalise domeeni IP-aadressi võltsimist. Kaminsky meetod manipuleerib DNS-päringu identifitseerimisvälja tühise suurusega, mis on vaid 16 bitti.
Hostinime võltsimiseks vajaliku õige identifikaatori leidmiseks piisab umbes 7.000 päringu saatmisest ja umbes 140 000 võltsvastuse simuleerimisest. Rünnak taandub suure hulga võltsitud IP-aadressiga pakettide saatmisele DNS-i lahendajale erinevate DNS-i tehinguidentifikaatoritega.
Tuvastatud haavatavused vähendavad eeldatavat entroopia taset 32 bitilt 19-bitisele, muutes vahemälu mürgitamise rünnaku üsna realistlikuks. Lisaks võimaldab dnsmasq CNAME-kirjete käsitlemine tal võltsida CNAME-kirje stringi, võltsides tõhusalt kuni üheksat DNS-kirjet korraga.
- CVE-2020-25684: väliste serverite DNS-vastuste töötlemisel päringu ID valideerimise puudumine koos IP-aadressi ja pordinumbriga. See käitumine ei ühildu RFC-5452-ga, mis nõuab vastuse sobitamisel täiendavaid päringu atribuute.
- CVE-2020-25686: Sama nimega ootel olevate taotluste valideerimise puudumine, mis võimaldab sünnipäeva meetodi kasutamist vastuse võltsimiseks vajalike katsete arvu märkimisväärseks vähendamiseks. Koos CVE-2020-25684 haavatavusega võib see funktsioon rünnaku keerukust oluliselt vähendada.
- CVE-2020-25685: ebausaldusväärse CRC32 räsialgoritmi kasutamine vastuste kontrollimisel juhul, kui kompileerimine toimub ilma DNSSECita (SHA-1 kasutatakse koos DNSSEC-iga). Haavatavust saab kasutada katsete arvu märkimisväärseks vähendamiseks, võimaldades teil kasutada domeene, millel on sama CRC32 räsi kui sihtdomeenil.
- Teine probleemide kogum (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 ja CVE-2020-25687) on põhjustatud vigadest, mis põhjustavad teatud väliste andmete töötlemisel puhvri ülevoolu.
- Haavatavuste CVE-2020-25681 ja CVE-2020-25682 puhul on võimalik luua ekspluateerimisi, mis võivad viia süsteemi kooditäitmiseni.
Lõpuks mainitakse, et haavatavused on lahendatud Dnsmasq 2.83 värskenduses ning lahendusena on soovitatav DNSSEC ja päringute vahemällu salvestamine käsureavõtmete abil keelata.
Allikas: https://kb.cert.org