Forescout Research Labs og JSOF Research har offentliggjort resultaterne af et fælles sikkerhedsstudie af forskellige implementeringer af kompressionsmetoden, der anvendes til at pakke gentagne navne i DNS-beskeder, mDNS, DHCP og IPv6 RA (pakning af duplikerede dele af domæner i beskeder, der indeholder flere navne). I løbet af arbejdet blev der identificeret 9 sårbarheder, der er sammenfattet under kodenavnet NAME:WRECK.
Problemerne er blevet identificeret i FreeBSD, samt i netværkssystemerne IPnet, Nucleus NET og NetX, der er anvendt i realtidsoperativsystemerne VxWorks, Nucleus og ThreadX, som bruges i automatiseringsenheder, lagerløsninger, medicinsk udstyr, avionik, printere og forbrugerelektronik. Det antages, at sårbarhederne påvirker mindst 100 millioner enheder.
- Sårbarheden i FreeBSD (CVE-2020-7461) gjorde det muligt for en angriber, der var på samme lokale netværk som offeret, at udføre sin kode ved at sende et specifikt udformet DHCP-pakke, hvis behandling af det sårbare DHCP-klient medførte en bufferoverløb. Det blev lettet af, at dhclient-processen, der indeholdt sårbarheden, blev kørt med reducerede rettigheder i et isoleret Capsicum-miljø, hvor det krævede at afsløre en anden sårbarhed for at komme ud.
Fejlens kerne ligger i den ukorrekte kontrol af parametre i det DHCP-pakke, som DHCP-serveren sender med 119-optionen, som tillader overførsel af en liste over 'domain search' til resolveren. En forkert beregning af bufferstørrelsen nødvendig for at rumme de udpakkede domenenavne, hvilket førte til, at kontrolleret information fra angriberen blev skrevet uden for den tildelte buffer. Problemet i FreeBSD blev løst allerede i september sidste år. Problemet kan kun udnyttes ved adgang til det lokale netværk.
- Sårbarheden i den indlejrede netværksstack IPnet, der anvendes i RTOS VxWorks, gør det potentielt muligt at udføre kode på DNS-klientens side som følge af forkert behandling af komprimering af DNS-beskeder. Det viste sig, at denne sårbarhed først blev identificeret af virksomheden Exodus allerede i 2016, men den blev aldrig rettet. Den nye henvendelse til virksomheden Wind River blev også umødt, og enheder med IPnet forbliver sårbare.
- I TCP/IP-stakken Nucleus NET, der understøttes af Siemens, er der identificeret 6 sårbarheder, hvoraf to kunne føre til fjernudførelse af kode, og fire til at initiere et tjenesteafbrud. Det første farlige problem er relateret til en fejl under udpakkning af komprimerede DNS-meldinger, mens det andet handler om forkert parsing af domænenavne. Begge problemer fører til buffer overflow ved behandlingen af specielt udformede DNS-svar.
For at udnytte sårbarhederne skal en angriber blot sende et specielt udformet svar på enhver legitim anmodning sendt fra den sårbare enhed, for eksempel ved at udføre en MITM-attack og infiltrere trafikken mellem DNS-serveren og offeret. Hvis angriberen har adgang til det lokale netværk, kan han opsætte en DNS-server, som forsøger at angrebe de problematiske enheder ved at sende mDNS-anmodninger i broadcast.
- Sårbarheden i netværksstakken NetX (Azure RTOS NetX), udviklet til ThreadX RTOS og offentliggjort i 2019 efter overtagelsen af Microsoft, resulterede i et tjenesteafbrud. Problemet stammer fra en fejl i parsing af komprimerede DNS-meldinger i implementeringen af resolveren.
Blandt de gennemgåede netværksstakke, hvor der ikke er fundet sårbarheder relateret til komprimering af gentagne data i DNS-meldinger, er projekterne lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread og FNET. Heraf understøtter de første to (Nut/Net og lwIP) slet ikke komprimering i DNS-meldinger, mens de øvrige implementerer denne operation uden fejl. Desuden bemærkes det, at tidligere de samme forskere allerede havde identificeret lignende sårbarheder i stakene Treck, uIP og PicoTCP.
Kilde: opennet.ru
