Ranljivosti, najdene v Dnsmasqu, omogočajo ponarejanje vsebine v predpomnilniku DNS

Nedavno so bile objavljene informacije o odkritju sedmih ranljivosti v paketu Dnsmasq, ki združuje predpomnilniški DNS razreševalec in DHCP strežnik z kodnim imenom DNSpooq. Te težave omogočajo lažne napade s predpomnilnikom DNS ali prekoračitve medpomnilnika , kar lahko povzroči oddaljeno izvajanje kode s strani napadalca.

Čeprav je bil Dnsmasq pred kratkim opuščen kot privzeti razreševalec v standardnih distribucijah Linuxa, se še vedno uporablja v distribucijah Androida in specializiranih distribucijah, kot sta OpenWrt in DD-WRT, pa tudi v vdelani programski opremi številnih brezžičnih usmerjevalnikov. V standardnih distribucijah je implicitna uporaba dnsmasq mogoča; na primer, pri uporabi libvirta ga je mogoče zagnati za zagotavljanje storitve DNS v virtualnih strojih ali pa ga omogočiti s spreminjanjem nastavitev v konfiguratorju NetworkManager.

Glede na to, da kultura posodabljanja brezžičnih usmerjevalnikov pušča veliko želenega, se raziskovalci bojijo, da bi ugotovljene težave lahko ostale nerešene še dolgo časa in postale tarča avtomatiziranih napadov na usmerjevalnike z namenom pridobitve nadzora nad njimi ali preusmeritve uporabnikov na lažna zlonamerna spletna mesta.

Na Dnsmasq se zanaša približno 40 podjetij , vključno s Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE in Zyxel. Uporabnikom teh naprav se lahko odsvetuje uporaba vgrajene storitve posredovanja poizvedb DNS.

Prvi del ranljivosti, odkritih v Dnsmasq, se nanaša na zaščito pred napadi zastrupitve predpomnilnika DNS, ki temelji na metodi, ki jo je leta 2008 predlagal Dan Kaminsky.

Zaradi odkritih ranljivosti je obstoječa zaščita neučinkovita in omogoča ponarejanje IP-naslova poljubne domene v predpomnilniku. Kaminskijeva metoda manipulira z zanemarljivo velikostjo identifikacijskega polja poizvedbe DNS, ki je le 16 bitov.

Za iskanje pravilnega identifikatorja, potrebnega za ponarejanje imena gostitelja, je dovolj poslati približno 7.000 zahtev in simulirati okoli 140.000 lažnih odgovorov. Napad se zreducira na pošiljanje velikega števila ponarejenih paketov, povezanih z IP-naslovi, v DNS razreševalnik z različnimi identifikatorji transakcij DNS.

Ugotovljene ranljivosti znižujejo pričakovano raven entropije z 32 bitov na 19-bitno zahtevo po ugibanju, zaradi česar je napad z zastrupitvijo predpomnilnika precej realističen. Poleg tega dnsmasq s svojim ravnanjem z zapisi CNAME omogoča ponarejanje niza zapisov CNAME in učinkovito ponarejanje do devetih zapisov DNS hkrati.

  • CVE-2020-25684: pomanjkanje potrditve ID-ja zahteve v kombinaciji z naslovom IP in številko vrat pri obdelavi odgovorov DNS z zunanjih strežnikov. To vedenje ni združljivo z RFC-5452, ki zahteva, da se pri ujemanju odziva uporabljajo dodatni atributi zahteve.
  • CVE-2020-25686: Pomanjkanje potrditve čakajočih zahtev z istim imenom, kar omogoča uporabo metode rojstnega dne, da znatno zmanjša število poskusov, potrebnih za ponarejanje odgovora. V kombinaciji z ranljivostjo CVE-2020-25684 lahko ta funkcija znatno zmanjša zapletenost napada.
  • CVE-2020-25685: uporaba nezanesljivega algoritma zgoščevanja CRC32 pri preverjanju odzivov v primeru prevajanja brez DNSSEC (SHA-1 se uporablja z DNSSEC). Ranljivost bi lahko uporabili za znatno zmanjšanje števila poskusov, tako da bi vam omogočili izkoriščanje domen, ki imajo isto razpršitev CRC32 kot ciljna domena.
  • Drugi sklop težav (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 in CVE-2020-25687) povzročajo napake, ki povzročajo prelivanje medpomnilnika pri obdelavi nekaterih zunanjih podatkov.
  • Za ranljivosti CVE-2020-25681 in CVE-2020-25682 je mogoče ustvariti podvige, ki bi lahko povzročili izvajanje kode v sistemu.

Nazadnje je omenjeno, da so ranljivosti odpravljene v posodobitvi Dnsmasq 2.83 , in kot rešitev je priporočljivo onemogočiti DNSSEC in predpomnjenje poizvedb z možnostmi ukazne vrstice.

Vir: https://kb.cert.org


Dodaj kot prednostni vir v Googlu