Grupet kërkimore Forescout Research Labs dhe JSOF Research publikuan rezultatet e një studimi të përbashkët të sigurisë për realizime të ndryshme të skemave të kompresimit, të përdorura për paketimin e emrave të përsëritur në mesazhet DNS, mDNS, DHCP dhe IPv6 RA (paketimi i pjesëve të dyfishta të domain-eve në mesazhe që përfshijnë disa emra). Gjatë punës së kryer, u zbuluan 9 vulnerabilitete, të cilat janë përmbledhur nën emrin kod NAME:WRECK.
Problemet janë identifikuar në FreeBSD, si dhe në nëndegët rrjetërore IPnet, Nucleus NET dhe NetX, të cilat janë shpërndarë në sistemet operative në kohë reale VxWorks, Nucleus dhe ThreadX, të përdorura në pajisjet e automatizimit, magazinat, pajisjet mjekësore, avionikën, printerat dhe elektronikën e konsumit. Mendohet se vulnerabilitetet prekin të paktën 100 milion pajisje.
- Një vulnerabilitet në FreeBSD (CVE-2020-7461) lejonte ekzekutimin e kodit të tij përmes dërgimit të një paketi DHCP të dizajnuar me kujdes nga një sulmues që ndodhej në të njëjtën rrjet lokale me viktimën, përpunimi i të cilit nga klienti DHCP të ndjeshëm rezultonte në tejkalimin e buffers. Problemi lehtësohej nga fakti që procesi dhclient, në të cilin ndodhej vulnerabiliteti, ekzistonte me privilegje të ulura në një ambient të izoluar Capsicum, për t'u dalë nga i cili nevojitej identifikimi i një vulnerabiliteti tjetër.
Thelbi i gabimit qëndron në verifikimin e papërshtatshëm të parametrave në paketën e kthyer nga serveri DHCP me opsionin 119 të DHCP, i cili lejon dërgimin e një liste "domain search" për rezolutoren. Llogaritja e gabuar e madhësisë së buffers, e nevojshme për të akomoduar të shfletuarat emrave të domain-eve, çoi në shkrimin e informacionit të kontrolluar nga sulmuesi përtej buffers së dedikuar. Në FreeBSD, problemi u eliminua që në muajin shtator të vitit të kaluar. Problemi mund të shfrytëzohet vetëm nëse ka qasje në rrjetin lokal.
- Një dobësi në stakun e rrjetit të integruar IPnet, i përdorur në RTOS VxWorks, lejon potencialisht ekzekutimin e kodit nga ana e klientit DNS për shkak të përpunimit të gabuar të kompresimit të mesazheve DNS. Siç rezulton, kjo dobësi u identifikua për herë të parë nga kompania Exodus në vitin 2016, por ende nuk është rregulluar. Një kërkesë e re për kompaninë Wind River gjithashtu nuk ka marrë përgjigje dhe pajisjet me IPnet mbeten të vulnerueshme.
- Në stakun TCP/IP Nucleus NET, të mbështetur nga kompania Siemens, janë identifikuar 6 dobësi, nga të cilat dy mund të çonin në ekzekutimin e kodeve në distancë, ndërsa katër në iniciimin e një refuzimi të shërbimit. Problemi i parë i rrezikshëm lidhet me një gabim gjatë shpërbërjes së mesazheve të kompresuara DNS, ndërsa i dyti me analizimin e gabuar të etiketave të emrave të domainit. Të dy problemet çojnë në mbingarkesë të memories gjatë përpunimit të përgjigjeve të dizajnuara posaçërisht DNS.
Për të shfrytëzuar dobësitë, sulmuesi ka nevojë vetëm të dërgojë një përgjigje të formatizuar posaçërisht për çdo kërkesë legjitime të dërguar nga një pajisje të cenueshme, për shembull, nëpërmjet zhvillimit të një sulmi MTIM dhe ndërhyrjes në trafik ndërmjet serverit DNS dhe viktimës. Nëse sulmuesi ka qasje në rrjetin lokal, ai mund të niste një server DNS që përpiqet të sulmojë pajisjet e problemit duke dërguar kërkesa mDNS në modin e lëshimit.
- Dobësia në steknetin rrjetor NetX (Azure RTOS NetX), i zhvilluar për ThreadX RTOS dhe i hapur në vitin 2019 pas kalimit në duar të Microsoft, u kufizua në një refuzim shërbimi. Problemi shkaktohet nga një gabim në përpunimin e mesazheve të kompaktuar DNS në implementimin e zgjidhësit.
Nga steknet që janë verifikuar, në të cilat nuk janë gjetur dobësi të lidhura me kompresimin e të dhënave të përsëritura në mesazhet DNS, janë përmendur projektet lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP, OpenThread dhe FNET. Ndërkohë, dy të parat (Nut/Net dhe lwIP) në fakt nuk mbështesin aspak kompresimin në mesazhet DNS, ndërsa të tjerat e realizojnë këtë operacion pa gabime. Përveç kësaj, vërehet se më parë, të njëjtit hulumtues kishin zbuluar dobësi të ngjashme në steknet Treck, uIP dhe PicoTCP.
Burimi: opennet.ru
