Sårbarheder i FreeBSD, IPnet og Nucleus NET relateret til fejl i implementeringen af ​​DNS-komprimering

Forskergrupperne Forescout Research Labs og JSOF Research har offentliggjort resultaterne af en fælles undersøgelse af sikkerheden ved forskellige implementeringer af komprimeringsskemaet, der bruges til at pakke duplikerede navne i DNS-, mDNS-, DHCP- og IPv6 RA-meddelelser (pakker duplikerede domænedele i meddelelser der indeholder flere navne). Under arbejdet blev der identificeret 9 sårbarheder, som er opsummeret under kodenavnet NAME:WRECK.

Problemer er blevet identificeret i FreeBSD såvel som i netværksundersystemerne IPnet, Nucleus NET og NetX, som er blevet udbredt i realtidsoperativsystemerne VxWorks, Nucleus og ThreadX, der bruges i automationsenheder, storage, medicinsk udstyr, flyelektronik, printere og forbrugerelektronik. Det anslås, at mindst 100 millioner enheder er berørt af sårbarhederne.

  • En sårbarhed i FreeBSD (CVE-2020-7461) gjorde det muligt at organisere udførelsen af ​​dens kode ved at sende en specialdesignet DHCP-pakke til angribere placeret på det samme lokale netværk som offeret, hvis behandling af en sårbar DHCP-klient førte til til et bufferoverløb. Problemet blev mildnet af det faktum, at dhclient-processen, hvor sårbarheden var til stede, kørte med nulstillingsrettigheder i et isoleret Capsicum-miljø, hvilket krævede at identificere en anden sårbarhed for at afslutte.

    Essensen af ​​fejlen er i forkert kontrol af parametre i pakken, der returneres af DHCP-serveren med DHCP-option 119, som giver dig mulighed for at overføre "domænesøgning"-listen til resolveren. Forkert beregning af bufferstørrelsen, der kræves for at rumme upakkede domænenavne, førte til, at hackerkontrolleret information blev skrevet ud over den tildelte buffer. I FreeBSD blev problemet rettet tilbage i september sidste år. Problemet kan kun udnyttes, hvis du har adgang til det lokale netværk.

  • En sårbarhed i den indlejrede IPnet-netværksstak, der bruges i RTOS VxWorks, tillader potentiel kodekørsel på DNS-klientsiden på grund af forkert håndtering af DNS-meddelelseskomprimering. Som det viste sig, blev denne sårbarhed først identificeret af Exodus tilbage i 2016, men blev aldrig rettet. En ny anmodning til Wind River blev også ubesvaret, og IPnet-enheder er fortsat sårbare.
  • Seks sårbarheder blev identificeret i Nucleus NET TCP/IP-stakken, understøttet af Siemens, hvoraf to kunne føre til fjernudførelse af kode, og fire kunne føre til lammelsesangreb. Det første farlige problem er relateret til en fejl ved dekomprimering af komprimerede DNS-meddelelser, og det andet er relateret til forkert parsing af domænenavnsetiketter. Begge problemer resulterer i et bufferoverløb ved behandling af specielt formaterede DNS-svar.

    For at udnytte sårbarheder skal en angriber blot sende et specielt designet svar på enhver legitim anmodning sendt fra en sårbar enhed, for eksempel ved at udføre et MTIM-angreb og forstyrre trafikken mellem DNS-serveren og offeret. Hvis angriberen har adgang til det lokale netværk, kan han starte en DNS-server, der forsøger at angribe problematiske enheder ved at sende mDNS-anmodninger i broadcast-tilstand.

  • Sårbarheden i NetX-netværksstakken (Azure RTOS NetX), udviklet til ThreadX RTOS og åbnet i 2019 efter at være blevet overtaget af Microsoft, var begrænset til lammelsesangreb. Problemet skyldes en fejl i parsing af komprimerede DNS-meddelelser i resolverimplementeringen.

Af de testede netværksstakke, hvor der ikke blev fundet nogen sårbarheder relateret til komprimering af gentagne data i DNS-meddelelser, blev følgende projekter navngivet: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread og FNET. Desuden understøtter de to første (Nut/Net og lwIP) slet ikke komprimering i DNS-meddelelser, mens de andre implementerer denne operation uden fejl. Derudover bemærkes det, at de samme forskere tidligere allerede havde identificeret lignende sårbarheder i Treck-, uIP- og PicoTCP-stakkene.

Kilde: opennet.ru

Tilføj en kommentar