Sårbarheter i FreeBSD, IPnet och Nucleus NET relaterade till fel i implementeringen av DNS-komprimering

Forskargrupperna Forescout Research Labs och JSOF Research har publicerat resultaten av en gemensam studie av säkerheten för olika implementeringar av komprimeringsschemat som används för att packa dubblettnamn i DNS-, mDNS-, DHCP- och IPv6 RA-meddelanden (paketera dubbla domändelar i meddelanden som innehåller flera namn). Under arbetets gång identifierades 9 sårbarheter som sammanfattas under kodnamnet NAME:WRECK.

Problem har identifierats i FreeBSD, såväl som i nätverksundersystemen IPnet, Nucleus NET och NetX, som har blivit utbredda i realtidsoperativsystemen VxWorks, Nucleus och ThreadX som används i automationsenheter, lagring, medicinsk utrustning, flygelektronik, skrivare och hemelektronik. Det uppskattas att minst 100 miljoner enheter påverkas av sårbarheterna.

  • En sårbarhet i FreeBSD (CVE-2020-7461) gjorde det möjligt att organisera exekveringen av dess kod genom att skicka ett specialdesignat DHCP-paket till angripare som finns på samma lokala nätverk som offret, vars bearbetning av en sårbar DHCP-klient ledde till till ett buffertspill. Problemet mildrades av det faktum att dhclient-processen där sårbarheten var närvarande kördes med återställningsprivilegier i en isolerad Capsicum-miljö, vilket krävde att en annan sårbarhet identifierades för att avsluta.

    Kärnan i felet ligger i felaktig kontroll av parametrar, i paketet som returneras av DHCP-servern med DHCP-alternativ 119, vilket låter dig överföra listan "domänsökning" till resolvern. Felaktig beräkning av buffertstorleken som krävs för att rymma uppackade domännamn ledde till att angriparkontrollerad information skrevs bortom den tilldelade bufferten. I FreeBSD åtgärdades problemet redan i september förra året. Problemet kan bara utnyttjas om du har tillgång till det lokala nätverket.

  • En sårbarhet i den inbäddade IPnet-nätverksstacken som används i RTOS VxWorks tillåter potentiell kodexekvering på DNS-klientsidan på grund av felaktig hantering av DNS-meddelandekomprimering. Det visade sig att denna sårbarhet först identifierades av Exodus redan 2016, men åtgärdades aldrig. En ny förfrågan till Wind River blev också obesvarad och IPnet-enheter är fortfarande sårbara.
  • Sex sårbarheter identifierades i Nucleus NET TCP/IP-stacken, som stöds av Siemens, varav två kan leda till fjärrkörning av kod och fyra kan leda till överbelastning. Det första farliga problemet är relaterat till ett fel vid dekomprimering av komprimerade DNS-meddelanden, och det andra är relaterat till felaktig analys av domännamnsetiketter. Båda problemen resulterar i ett buffertspill vid bearbetning av speciellt formaterade DNS-svar.

    För att utnyttja sårbarheter behöver en angripare helt enkelt skicka ett specialdesignat svar på alla legitima förfrågningar som skickas från en sårbar enhet, till exempel genom att utföra en MTIM-attack och störa trafiken mellan DNS-servern och offret. Om angriparen har tillgång till det lokala nätverket kan han starta en DNS-server som försöker attackera problematiska enheter genom att skicka mDNS-förfrågningar i broadcast-läge.

  • Sårbarheten i NetX-nätverksstacken (Azure RTOS NetX), utvecklad för ThreadX RTOS och öppnades 2019 efter att ha tagits över av Microsoft, var begränsad till överbelastning. Problemet orsakas av ett fel vid analys av komprimerade DNS-meddelanden i resolverimplementeringen.

Av de testade nätverksstackarna där inga sårbarheter hittades relaterade till komprimering av upprepad data i DNS-meddelanden, namngavs följande projekt: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread och FNET. Dessutom stöder de två första (Nut/Net och lwIP) inte komprimering i DNS-meddelanden alls, medan de andra implementerar denna operation utan fel. Dessutom noteras att samma forskare tidigare redan hade identifierat liknande sårbarheter i Treck-, uIP- och PicoTCP-stackarna.

Källa: opennet.ru

Lägg en kommentar