FreeBSD:n, IPnetin ja Nucleus NETin haavoittuvuudet, jotka liittyvät DNS-pakkauksen toteutuksen virheisiin

Tutkimusryhmät Forescout Research Labs ja JSOF Research ovat julkaisseet tulokset yhteisestä tutkimuksesta DNS-, mDNS-, DHCP- ja IPv6 RA -sanomien päällekkäisten nimien pakkaamiseen käytetyn pakkausmallin eri toteutusten turvallisuudesta (pakkaamalla päällekkäisiä domain-osia viesteissä). jotka sisältävät useita nimiä). Työn aikana tunnistettiin 9 haavoittuvuutta, jotka on tiivistetty koodinimellä NIMI:WRECK.

Ongelmia on havaittu FreeBSD:ssä sekä verkkoalijärjestelmissä IPnet, Nucleus NET ja NetX, jotka ovat yleistyneet VxWorks-, Nucleus- ja ThreadX-reaaliaikaisissa käyttöjärjestelmissä, joita käytetään automaatiolaitteissa, tallennuslaitteissa, lääketieteellisissä laitteissa, avioniikassa ja tulostimissa. ja kulutuselektroniikka. On arvioitu, että haavoittuvuudet vaikuttavat vähintään 100 miljoonaan laitteeseen.

  • FreeBSD:n haavoittuvuus (CVE-2020-7461) mahdollisti sen koodin suorittamisen järjestämisen lähettämällä uhrin kanssa samassa lähiverkossa oleville hyökkääjille erityisesti suunniteltu DHCP-paketti, jonka haavoittuva DHCP-asiakas johti käsittelemään. puskurin ylivuotoon. Ongelmaa lievensi se, että dhclient-prosessi, jossa haavoittuvuus esiintyi, oli käynnissä palautusoikeuksilla eristetyssä Capsicum-ympäristössä, mikä vaati toisen haavoittuvuuden tunnistamista poistuakseen.

    Virheen ydin on parametrien väärässä tarkistuksessa, DHCP-palvelimen palauttamassa paketissa DHCP-optiolla 119, jonka avulla voit siirtää “domain search” -luettelon ratkaisijaan. Pakkaamattomien toimialuenimien puskurin koon virheellinen laskeminen johti siihen, että hyökkääjän ohjaama tieto kirjoitettiin varatun puskurin ulkopuolelle. FreeBSD:ssä ongelma korjattiin viime vuoden syyskuussa. Ongelmaa voidaan hyödyntää vain, jos sinulla on pääsy paikalliseen verkkoon.

  • RTOS VxWorksissa käytetyn sulautetun IPnet-verkkopinon haavoittuvuus mahdollistaa koodin suorittamisen DNS-asiakaspuolella DNS-viestien pakkaamisen virheellisen käsittelyn vuoksi. Kuten kävi ilmi, Exodus tunnisti tämän haavoittuvuuden ensimmäisen kerran vuonna 2016, mutta sitä ei koskaan korjattu. Myös uusi pyyntö Wind Riverille jäi vastaamatta ja IPnet-laitteet ovat edelleen haavoittuvia.
  • Siemensin tukemassa Nucleus NET TCP/IP -pinossa tunnistettiin kuusi haavoittuvuutta, joista kaksi saattoi johtaa koodin etäsuorittamiseen ja neljä palvelun estoon. Ensimmäinen vaarallinen ongelma liittyy virheeseen purettaessa pakattuja DNS-viestejä, ja toinen liittyy virheelliseen verkkotunnuksen nimien jäsentämiseen. Molemmat ongelmat johtavat puskurin ylivuotoon, kun käsitellään erityisesti muotoiltuja DNS-vastauksia.

    Hyödyntääkseen haavoittuvuuksia hyökkääjän on yksinkertaisesti lähetettävä erityisesti suunniteltu vastaus kaikkiin haavoittuvalta laitteelta lähetettyihin laillisiin pyyntöihin, esimerkiksi suorittamalla MTIM-hyökkäys ja häiritsemällä DNS-palvelimen ja uhrin välistä liikennettä. Jos hyökkääjällä on pääsy paikalliseen verkkoon, hän voi käynnistää DNS-palvelimen, joka yrittää hyökätä ongelmallisiin laitteisiin lähettämällä mDNS-pyyntöjä yleislähetystilassa.

  • ThreadX RTOS:lle kehitetyn NetX-verkkopinon (Azure RTOS NetX) haavoittuvuus, joka avattiin vuonna 2019 Microsoftin haltuunoton jälkeen, rajoittui palvelunestoon. Ongelma johtuu virheestä pakattujen DNS-sanomien jäsentämisessä ratkaistavassa toteutuksessa.

Testatuista verkkopinoista, joista ei löytynyt DNS-sanomien toistuvien tietojen pakkaamiseen liittyviä haavoittuvuuksia, nimettiin seuraavat projektit: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread ja FNET. Lisäksi kaksi ensimmäistä (Nut/Net ja lwIP) eivät tue DNS-viestien pakkausta ollenkaan, kun taas muut toteuttavat tämän toiminnon ilman virheitä. Lisäksi on huomattava, että aiemmin samat tutkijat olivat jo tunnistaneet samanlaisia ​​haavoittuvuuksia Treck-, uIP- ja PicoTCP-pinoista.

Lähde: opennet.ru

Lisää kommentti