Chyby zabezpečení ve FreeBSD, IPnet a Nucleus NET související s chybami při implementaci komprese DNS

Výzkumné skupiny Forescout Research Labs a JSOF Research zveřejnily výsledky společné studie bezpečnosti různých implementací kompresního schématu používaného k balení duplicitních jmen ve zprávách DNS, mDNS, DHCP a IPv6 RA (zabalení duplicitních částí domény do zpráv které obsahují více jmen). Během práce bylo identifikováno 9 zranitelností, které jsou shrnuty pod kódovým označením NAME:WRECK.

Problémy byly identifikovány ve FreeBSD a také v síťových subsystémech IPnet, Nucleus NET a NetX, které se rozšířily v operačních systémech VxWorks, Nucleus a ThreadX v reálném čase používaných v automatizačních zařízeních, úložištích, lékařských zařízeních, avionice, tiskárnách. a spotřební elektroniky. Odhaduje se, že zranitelností je postiženo nejméně 100 milionů zařízení.

  • Zranitelnost ve FreeBSD (CVE-2020-7461) umožnila organizovat provádění jeho kódu odesláním speciálně navrženého DHCP paketu útočníkům umístěným ve stejné lokální síti jako oběť, jehož zpracování zranitelným DHCP klientem vedlo k přetečení vyrovnávací paměti. Problém byl zmírněn skutečností, že proces dhclient, ve kterém byla zranitelnost přítomna, běžel s resetovacími oprávněními v izolovaném prostředí Capsicum, což vyžadovalo identifikaci jiné zranitelnosti, aby bylo možné ukončit.

    Podstata chyby je v nesprávné kontrole parametrů v paketu vráceném DHCP serverem s možností DHCP 119, která umožňuje přenést seznam „vyhledávání domén“ do resolveru. Nesprávný výpočet velikosti vyrovnávací paměti požadované pro umístění nerozbalených doménových jmen vedl k tomu, že informace řízené útočníkem byly zapsány mimo přidělenou vyrovnávací paměť. Ve FreeBSD byl problém opraven v září minulého roku. Problém lze zneužít pouze v případě, že máte přístup k místní síti.

  • Chyba zabezpečení ve vestavěném síťovém zásobníku IPnet používaném v RTOS VxWorks umožňuje potenciální spuštění kódu na straně klienta DNS kvůli nesprávné manipulaci s kompresí zpráv DNS. Jak se ukázalo, tato zranitelnost byla poprvé identifikována společností Exodus v roce 2016, ale nikdy nebyla opravena. Nový požadavek na Wind River také zůstal bez odpovědi a zařízení IPnet zůstávají zranitelná.
  • V zásobníku Nucleus NET TCP/IP podporovaném společností Siemens bylo identifikováno šest zranitelností, z nichž dvě mohly vést ke vzdálenému spuštění kódu a čtyři mohly vést k odmítnutí služby. První nebezpečný problém souvisí s chybou při dekomprimaci komprimovaných zpráv DNS a druhý s nesprávnou analýzou jmenovek domén. Oba problémy vedou k přetečení vyrovnávací paměti při zpracování speciálně formátovaných odpovědí DNS.

    Aby mohl útočník zneužít zranitelnosti, stačí odeslat speciálně navrženou odpověď na jakýkoli legitimní požadavek odeslaný ze zranitelného zařízení, například provedením útoku MTIM a narušením provozu mezi serverem DNS a obětí. Pokud má útočník přístup k místní síti, může spustit DNS server, který se pokusí napadnout problematická zařízení odesíláním požadavků mDNS v režimu vysílání.

  • Chyba zabezpečení v síťovém zásobníku NetX (Azure RTOS NetX), který byl vyvinut pro ThreadX RTOS a byl otevřen v roce 2019 po převzetí společností Microsoft, byla omezena na odmítnutí služby. Problém je způsoben chybou při analýze komprimovaných zpráv DNS v implementaci resolveru.

Z testovaných síťových stacků, ve kterých nebyly nalezeny žádné zranitelnosti související s kompresí opakovaných dat ve zprávách DNS, byly pojmenovány tyto projekty: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread a FNET. Navíc první dva (Nut/Net a lwIP) kompresi v DNS zprávách vůbec nepodporují, zatímco ostatní implementují tuto operaci bez chyb. Kromě toho je třeba poznamenat, že titíž výzkumníci již dříve identifikovali podobné zranitelnosti v zásobníkech Treck, uIP a PicoTCP.

Zdroj: opennet.ru

Přidat komentář