Ranjivosti u FreeBSD-u, IPnet-u i Nucleus NET-u vezane za greške u implementaciji DNS kompresije

Istraživačke grupe Forescout Research Labs i JSOF Research objavile su rezultate zajedničke studije o sigurnosti različitih implementacija šeme kompresije koja se koristi za pakovanje dupliciranih imena u DNS, mDNS, DHCP i IPv6 RA poruke (pakiranje dupliranih dijelova domena u poruke koji uključuju više imena). Tokom rada identifikovano je 9 ranjivosti koje su sažete pod kodnim nazivom NAZIV: WRECK.

Problemi su identifikovani u FreeBSD-u, kao iu mrežnim podsistemima IPnet, Nucleus NET i NetX, koji su postali široko rasprostranjeni u VxWorks, Nucleus i ThreadX operativnim sistemima u realnom vremenu koji se koriste u uređajima za automatizaciju, skladištenje, medicinske uređaje, avioniku, štampače i potrošačke elektronike. Procjenjuje se da je najmanje 100 miliona uređaja pogođeno ranjivostima.

  • Ranjivost u FreeBSD-u (CVE-2020-7461) omogućila je organiziranje izvršavanja njegovog koda slanjem posebno dizajniranog DHCP paketa napadačima koji se nalaze na istoj lokalnoj mreži kao i žrtva, čiju je obradu vodio ranjivi DHCP klijent. do prelivanja bafera. Problem je ublažen činjenicom da je dhclient proces u kojem je ranjivost bila prisutna sa privilegijama resetovanja u izolovanom Capsicum okruženju, što je zahtijevalo identifikaciju druge ranjivosti za izlaz.

    Suština greške je u netačnoj provjeri parametara, u paketu koji vraća DHCP server sa DHCP opcijom 119, što vam omogućava da prebacite listu „pretraga domena“ na razrješavač. Netočna kalkulacija veličine bafera potrebne za smještaj raspakiranih imena domena dovela je do toga da su informacije koje kontrolira napadač upisane izvan dodijeljenog bafera. U FreeBSD-u, problem je riješen još u septembru prošle godine. Problem se može iskoristiti samo ako imate pristup lokalnoj mreži.

  • Ranjivost u ugrađenom IPnet mrežnom stogu koji se koristi u RTOS VxWorks dozvoljava potencijalno izvršavanje koda na strani DNS klijenta zbog nepravilnog rukovanja kompresijom DNS poruka. Kako se ispostavilo, ovu ranjivost je prvi put identifikovao Exodus još 2016. godine, ali nikada nije otklonjen. Novi zahtjev za Wind River također je ostao bez odgovora, a IPnet uređaji su i dalje ranjivi.
  • Identificirano je šest ranjivosti u Nucleus NET TCP/IP steku, podržanom od strane Siemensa, od kojih dvije mogu dovesti do udaljenog izvršavanja koda, a četiri do uskraćivanja usluge. Prvi opasan problem povezan je s greškom pri dekompresiji komprimiranih DNS poruka, a drugi s nepravilnim raščlanjivanjem oznaka naziva domene. Oba problema rezultiraju prekoračenjem bafera prilikom obrade posebno formatiranih DNS odgovora.

    Da bi iskoristio ranjivosti, napadač jednostavno treba poslati posebno dizajniran odgovor na bilo koji legitimni zahtjev poslan sa ranjivog uređaja, na primjer, provođenjem MTIM napada i ometanjem saobraćaja između DNS servera i žrtve. Ako napadač ima pristup lokalnoj mreži, tada može pokrenuti DNS server koji pokušava da napadne problematične uređaje slanjem mDNS zahtjeva u načinu emitiranja.

  • Ranjivost u NetX mrežnom stogu (Azure RTOS NetX), razvijenom za ThreadX RTOS i otvorena 2019. nakon što ju je preuzeo Microsoft, bila je ograničena na uskraćivanje usluge. Problem je uzrokovan greškom u raščlanjivanju komprimiranih DNS poruka u implementaciji razrjeđivača.

Od testiranih mrežnih stekova u kojima nisu pronađene ranjivosti vezane za kompresiju ponovljenih podataka u DNS porukama, imenovani su sljedeći projekti: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread i FNET. Štaviše, prva dva (Nut/Net i lwIP) uopšte ne podržavaju kompresiju u DNS porukama, dok ostali implementiraju ovu operaciju bez grešaka. Osim toga, napominje se da su ranije isti istraživači već identifikovali slične ranjivosti u Treck, uIP i PicoTCP stekovima.

izvor: opennet.ru

Dodajte komentar