Forescout Research Labsin ja JSOF Researchin tutkimusryhmät ovat julkaisseet yhteisen tietoturvatutkimuksen tulokset, joissa tarkasteltiin DNS-, mDNS-, DHCP- ja IPv6 RA -viesteissä kaksoisnimien pakkaamiseen käytetyn pakkausmenetelmän eri toteutuksia (päällekkäisten verkkotunnusten osien pakkaaminen useita nimiä sisältäviin viesteihin). Tutkimuksessa tunnistettiin yhdeksän haavoittuvuutta, joiden koodinimi on NAME:WRECK.
Haavoittuvuudet löydettiin FreeBSD:stä sekä IPnet-, Nucleus NET- ja NetX-verkkojärjestelmistä, joita käytetään laajalti VxWorks-, Nucleus- ja ThreadX-reaaliaikaisissa käyttöjärjestelmissä, joita käytetään automaatiolaitteissa, tallennusjärjestelmissä, lääkinnällisissä laitteissa, avioniikassa, tulostimissa ja kulutuselektroniikassa. Arvioiden mukaan ainakin 100 miljoonaa laitetta on haavoittuvia.
- FreeBSD:ssä on haavoittuvuus (CVE-2020-7461), joka mahdollisti koodin suorittamisen lähettämällä hyökkääjälle, joka oli samassa paikallisverkossa kuin uhri, erityisesti muodostetun DHCP-paketin. Haavoittuvan DHCP-asiakkaan käsittelemä paketti aiheutti puskurin ylivuodon. Haavoittuvuutta lievensi se, että haavoittuva dhclient-prosessi suoritettiin menetetyillä oikeuksilla Capsicum-hiekkalaatikossa, minkä vuoksi haavoittuvuuden selvittämiseksi oli löydettävä toinen haavoittuvuus.
Virhe johtuu DHCP-palvelimen palauttaman paketin virheellisestä parametrien validoinnista, jossa on DHCP-vaihtoehto 119, joka sallii "domain search" -luettelon välittämisen resolverille. Pakkaamattoman datan käsittelyyn tarvittavan puskurimuistin koko on laskettu väärin. verkkotunnukset, aiheutti hyökkääjän hallitseman tiedon kirjoittamisen varatun puskurin ulkopuolelle. Tämä ongelma korjattiin FreeBSD:ssä viime vuoden syyskuussa. Sitä voidaan hyödyntää vain paikallisverkon kautta.
- VxWorks RTOS:ssa käytetyn sulautetun IPnet-verkkopinon haavoittuvuus mahdollistaa koodin suorittamisen DNS-asiakasohjelmassa DNS-viestien pakkauksen virheellisen käsittelyn vuoksi. Exodus tunnisti tämän haavoittuvuuden ensimmäisen kerran vuonna 2016, mutta sitä ei koskaan korjattu. Myöskään Wind Riverille lähetettyyn myöhempään pyyntöön ei vastattu, ja IPnet-laitteet ovat edelleen haavoittuvia.
- В TCP/IP Siemensin tukemasta Nucleus NET -ympäristöstä havaittiin kuusi haavoittuvuutta, joista kaksi voi johtaa koodin etäsuorittamiseen ja neljä palvelunestohyökkäykseen. Ensimmäinen kriittinen ongelma liittyy virheeseen pakattujen DNS-viestien purkamisessa ja toinen verkkotunnusten tunnisteiden virheelliseen jäsentämiseen. Molemmat ongelmat aiheuttavat puskurin ylivuotoja käsiteltäessä erityisesti muotoiltuja DNS-vastauksia.
Näiden haavoittuvuuksien hyödyntämiseksi hyökkääjän tarvitsee yksinkertaisesti lähettää erityisesti muotoiltu vastaus haavoittuvasta laitteesta lähetettyyn lailliseen pyyntöön, esimerkiksi suorittamalla MTIM-hyökkäyksen ja häiritsemällä DNS-palvelimen ja uhrin välistä liikennettä. Jos hyökkääjällä on pääsy paikallisverkkoon, hän voi käynnistää DNS-palvelimen, joka yrittää hyökätä haavoittuvien laitteiden kimppuun lähettämällä mDNS-pyyntöjä.
- ThreadX RTOS:lle kehitetyn ja vuonna 2019 Microsoftin ostettua ThreadX RTOS:n haavoittuvuus NetX (Azure RTOS NetX) -verkkopinossa johti palvelunesto-ongelmaan.
Testatuista verkkopinoista, joista ei löytynyt DNS-viestien toistuvien tietojen pakkaamiseen liittyviä haavoittuvuuksia, nimettiin seuraavat projektit: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP, OpenThread ja FNET. Kaksi ensimmäistä (Nut/Net ja lwIP) eivät tue DNS-viestien pakkaamista lainkaan, kun taas muut toteuttavat tämän toiminnon virheettömästi. Lisäksi on huomattava, että samat tutkijat ovat aiemmin tunnistaneet vastaavia haavoittuvuuksia Treck-, uIP- ja PicoTCP-pinoissa.
Lähde: opennet.ru
