Ranljivosti v FreeBSD, IPnet in Nucleus NET, povezane z napakami pri implementaciji stiskanja DNS

Raziskovalni skupini Forescout Research Labs in JSOF Research sta objavili rezultate skupne študije varnosti različnih izvedb sheme stiskanja, ki se uporablja za pakiranje podvojenih imen v sporočila DNS, mDNS, DHCP in IPv6 RA (pakiranje podvojenih delov domene v sporočila ki vključujejo več imen). Med delom je bilo identificiranih 9 ranljivosti, ki so povzete pod kodnim imenom NAME:WRECK.

Težave so bile ugotovljene v FreeBSD, kot tudi v omrežnih podsistemih IPnet, Nucleus NET in NetX, ki so postali razširjeni v operacijskih sistemih VxWorks, Nucleus in ThreadX v realnem času, ki se uporabljajo v napravah za avtomatizacijo, shranjevanju, medicinskih napravah, letalski elektroniki, tiskalnikih in zabavne elektronike. Ocenjuje se, da je zaradi ranljivosti prizadetih vsaj 100 milijonov naprav.

  • Ranljivost v FreeBSD (CVE-2020-7461) je omogočila organizacijo izvajanja njegove kode s pošiljanjem posebej oblikovanega paketa DHCP napadalcem, ki se nahajajo v istem lokalnem omrežju kot žrtev, obdelavo katerega je vodil ranljivi odjemalec DHCP do prelivanja medpomnilnika. Težavo je omililo dejstvo, da se je proces dhclient, v katerem je bila prisotna ranljivost, izvajal s privilegiji ponastavitve v izoliranem okolju Capsicum, ki je za izhod zahteval identifikacijo druge ranljivosti.

    Bistvo napake je v nepravilnem preverjanju parametrov, v paketu, ki ga vrne DHCP strežnik z DHCP opcijo 119, ki omogoča prenos seznama “iskanje domene” v razreševalnik. Napačen izračun velikosti vmesnega pomnilnika, potrebnega za namestitev nepakiranih imen domen, je povzročil, da so se informacije, ki jih nadzoruje napadalec, zapisale zunaj dodeljenega medpomnilnika. V FreeBSD je bila težava odpravljena že septembra lani. Težavo lahko izkoristite le, če imate dostop do lokalnega omrežja.

  • Ranljivost v vgrajenem omrežnem skladu IPnet, ki se uporablja v RTOS VxWorks, omogoča morebitno izvajanje kode na strani odjemalca DNS zaradi nepravilnega ravnanja s stiskanjem sporočil DNS. Kot se je izkazalo, je to ranljivost prvič odkril Exodus že leta 2016, vendar ni bila nikoli odpravljena. Tudi nova zahteva za Wind River je ostala brez odgovora in naprave IPnet ostajajo ranljive.
  • V skladu Nucleus NET TCP/IP, ki ga podpira Siemens, je bilo ugotovljenih šest ranljivosti, od katerih bi lahko dve vodili do oddaljenega izvajanja kode, štiri pa do zavrnitve storitve. Prva nevarna težava je povezana z napako pri dekompresiji stisnjenih DNS sporočil, druga pa z nepravilnim razčlenjevanjem domenskih oznak. Obe težavi povzročita prepolnitev medpomnilnika pri obdelavi posebej oblikovanih odgovorov DNS.

    Za izkoriščanje ranljivosti mora napadalec preprosto poslati posebej zasnovan odgovor na vsako zakonito zahtevo, poslano z ranljive naprave, na primer z izvedbo napada MTIM in poseganjem v promet med strežnikom DNS in žrtvijo. Če ima napadalec dostop do lokalnega omrežja, lahko zažene strežnik DNS, ki poskuša napasti problematične naprave s pošiljanjem zahtev mDNS v načinu oddajanja.

  • Ranljivost v omrežnem skladu NetX (Azure RTOS NetX), razvitem za ThreadX RTOS in odprtem leta 2019, potem ko ga je prevzel Microsoft, je bila omejena na zavrnitev storitve. Težavo povzroča napaka pri razčlenjevanju stisnjenih sporočil DNS v izvedbi razreševalnika.

Od testiranih omrežnih skladov, v katerih ni bilo najdenih ranljivosti v zvezi s stiskanjem ponavljajočih se podatkov v sporočilih DNS, so bili imenovani naslednji projekti: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread in FNET. Poleg tega prva dva (Nut/Net in lwIP) sploh ne podpirata stiskanja v sporočilih DNS, medtem ko drugi izvajajo to operacijo brez napak. Poleg tega je treba opozoriti, da so pred tem isti raziskovalci že odkrili podobne ranljivosti v skladih Treck, uIP in PicoTCP.

Vir: opennet.ru

Dodaj komentar