Zranitelnosti ve FreeBSD, IPnet a Nucleus NET spojené s chybami při implementaci komprese v DNS

Výzkumné skupiny Forescout Research Labs a JSOF Research zveřejnily výsledky společného výzkumu bezpečnosti různých implementací schématu komprese používaného k balení opakujících se názvů v DNS, mDNS, DHCP a IPv6 RA (balení duplicitních částí domén v zprávách zahrnujících více názvů). V průběhu práce bylo identifikováno 9 zranitelností, které byly shrnuty pod kódovým názvem NAME:WRECK.

Problémy byly zjištěny ve FreeBSD, stejně jako v síťových subsystémech IPnet, Nucleus NET a NetX, které se rozšířily v operačních systémech reálného času VxWorks, Nucleus a ThreadX používaných v automatizačních zařízeních, úložištích, zdravotnických přístrojích, avionice, tiskárnách a spotřební elektronice. Předpokládá se, že zranitelnost se týká minimálně 100 milionů zařízení.

  • Zranitelnost ve FreeBSD (CVE-2020-7461) umožňovala provádět vlastní kód prostřednictvím odeslání od útočníka, který byl ve stejné místní síti jako oběť, speciálně strukturovaného DHCP paketu, jehož zpracování zranitelným DHCP klientem vedlo k přetečení bufferu. Problém byl zmírněn tím, že proces dhclient, v němž se vyskytovala zranitelnost, byl spuštěn s omezenými privilegii v izolovaném prostředí Capsicum, z něhož bylo třeba nalézt další zranitelnost pro únik.

    Podstata chyby spočívá v nesprávné kontrole parametrů v návratovém DHCP serverem paketu s 119 opcí DHCP, která umožňuje předat seznam 'domain search' pro resolver. Nesprávný výpočet velikosti bufferu potřebného pro uložení rozbalených doménových jmen, vedl k zápisu informací pod kontrolou útočníka za hranice přiděleného bufferu. Ve FreeBSD byla chyba odstraněna již v září minulého roku. Problém může být zneužit pouze při přístupu k místní síti.

  • Zranitelnost ve vestavěném síťovém zásobníku IPnet, používaném v RTOS VxWorks, potenciálně umožňuje vykonat kód na straně DNS klienta kvůli nesprávné manipulaci s kompresí DNS zpráv. Jak se ukázalo, tato zranitelnost byla poprvé zjištěna společností Exodus již v roce 2016, ale nikdy nebyla opravena. Nová žádost o odpověď od společnosti Wind River zůstala také bez odpovědi a zařízení s IPnet zůstávají zranitelná.
  • V TCP/IP stacku Nucleus NET, který podporuje společnost Siemens, bylo identifikováno 6 zranitelností, z nichž dvě mohly vést k vzdálenému provedení kódu a čtyři k vyvolání odmítnutí služby. První nebezpečný problém souvisí s chybou při dekompresi zhuštěných zpráv DNS a druhý s nesprávnou analýzou značek doménových jmen. Oba problémy vedou k přetečení zásobníku při zpracování speciálně vytvořených odpovědí DNS.

    Pro zneužití zranitelností útočníkovi stačí poslat speciálně vytvořenou odpověď na jakýkoli legitimní dotaz, který byl odeslán z ohroženého zařízení, například prostřednictvím provedení MTIM útoku a zasunutí do provozu mezi DNS serverem a obětí. Pokud má útočník přístup k místní síti, může spustit DNS server, který se pokusí napadnout problémová zařízení prostřednictvím rozesílání dotazů mDNS v broadcastovém režimu.

  • Zranitelnost v síťovém stacku NetX (Azure RTOS NetX), vyvinutém pro ThreadX RTOS a uvolněném v roce 2019 po přechodu do rukou Microsoftu, byla omezena na odmítnutí služby. Problém byl způsoben chybou v analýze zhuštěných zpráv DNS v implementaci resolveru.

Mezi ověřenými síťovými stacky, ve kterých nebyly nalezeny zranitelnosti související se zhuštěním opakujících se dat v DNS zprávách, byly uvedeny projekty lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread a FNET. Přičemž první dva (Nut/Net a lwIP) vůbec nepodporují zhuštění v DNS zprávách, zatímco ostatní tuto operaci realizují bez chyb. Dále se uvádí, že stejní výzkumníci dříve již identifikovali podobné zranitelnosti ve stacku Treck, uIP a PicoTCP.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster