Chyby zabezpečení v Realtek SDK vedly k problémům v zařízeních od 65 výrobců

V komponentách sady Realtek SDK, kterou používají různí výrobci bezdrátových zařízení ve svém firmwaru, byly identifikovány čtyři chyby zabezpečení, které by mohly umožnit neověřenému útočníkovi vzdáleně spustit kód na zařízení se zvýšenými oprávněními. Podle předběžných odhadů se problémy týkají nejméně 200 modelů zařízení od 65 různých dodavatelů, včetně různých modelů bezdrátových routerů Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT- Link, Netgear, Realtek, Smartlink, UPVEL, ZTE a Zyxel.

Problém pokrývá různé třídy bezdrátových zařízení založených na RTL8xxx SoC, od bezdrátových směrovačů a zesilovačů Wi-Fi až po IP kamery a zařízení pro inteligentní ovládání osvětlení. Zařízení založená na čipech RTL8xxx používají architekturu, která zahrnuje instalaci dvou SoC - první instaluje firmware výrobce na bázi Linuxu a druhý provozuje samostatné oříznuté linuxové prostředí s implementací funkcí přístupového bodu. Vyplnění druhého prostředí je založeno na standardních komponentách, které Realtek poskytuje v SDK. Tyto komponenty také zpracovávají data přijatá v důsledku odesílání externích požadavků.

Chyby zabezpečení se týkají produktů, které používají Realtek SDK v2.x, Realtek “Jungle” SDK v3.0-3.4 a Realtek “Luna” SDK před verzí 1.3.2. Oprava již byla vydána v aktualizaci Realtek „Luna“ SDK 1.3.2a a připravují se také záplaty pro SDK Realtek „Jungle“. Neplánujeme vydat žádné opravy pro Realtek SDK 2.x, protože podpora pro tuto větev již byla ukončena. Pro všechny zranitelnosti jsou k dispozici funkční prototypy zneužití, které vám umožní spustit váš kód na zařízení.

Identifikovaná zranitelnost (prvním dvěma je přiřazena úroveň závažnosti 8.1 a zbývajícím 9.8):

  • CVE-2021-35392 - Přetečení vyrovnávací paměti v procesech mini_upnpd a wscd, které implementují funkci „WiFi Simple Config“ (mini_upnpd zpracovává pakety SSDP a wscd kromě podpory SSDP zpracovává požadavky UPnP na základě protokolu HTTP). Útočník může dosáhnout provedení svého kódu odesláním speciálně vytvořených požadavků UPnP „SUBSCRIBE“ s příliš velkým číslem portu v poli „Callback“. SUBSCRIBE /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Zpětné volání: NT:upnp:událost
  • CVE-2021-35393 je chyba zabezpečení v obslužných programech WiFi Simple Config, která se vyskytuje při použití protokolu SSDP (používá UDP a formát požadavku podobný HTTP). Problém je způsoben použitím pevné vyrovnávací paměti 512 bajtů při zpracování parametru "ST:upnp" ve zprávách M-SEARCH zasílaných klienty k určení přítomnosti služeb v síti.
  • CVE-2021-35394 je zranitelnost v procesu MP Daemon, který je zodpovědný za provádění diagnostických operací (ping, traceroute). Problém umožňuje nahrazování vlastních příkazů z důvodu nedostatečné kontroly argumentů při spouštění externích utilit.
  • CVE-2021-35395 je řada zranitelností ve webových rozhraních založených na http serverech /bin/webs a /bin/boa. Na obou serverech byly identifikovány typické chyby zabezpečení způsobené nedostatkem kontrolních argumentů před spuštěním externích nástrojů pomocí funkce system(). Rozdíly spočívají pouze v použití různých API pro útoky. Oba handlery neobsahovaly ochranu proti CSRF útokům a techniku ​​„DNS rebinding“, která umožňuje odesílat požadavky z externí sítě a zároveň omezit přístup k rozhraní pouze do vnitřní sítě. Procesy jsou také standardně nastaveny na předdefinovaný účet supervizora/supervizora. Kromě toho bylo v obslužných rutinách identifikováno několik přetečení zásobníku, ke kterému dochází při odesílání příliš velkých argumentů. POST /goform/formWsc HTTP/1.1 Host: 192.168.100.254 Content-Length: 129 Content-Type: application/x-www-form-urlencoded submit-url=%2Fwlwps.asp&resetUnCfg=0&peerPin12345678tmp>if1 ;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
  • Kromě toho bylo v procesu UDPServer identifikováno několik dalších zranitelností. Jak se ukázalo, jeden z problémů byl objeven jinými výzkumníky již v roce 2015, ale nebyl zcela opraven. Problém je způsoben nedostatečným řádným ověřením argumentů předávaných funkci system() a lze jej zneužít odesláním řetězce jako 'orf;ls' na síťový port 9034. Kromě toho bylo v UDPServeru identifikováno přetečení vyrovnávací paměti kvůli nezabezpečenému použití funkce sprintf, kterou lze také potenciálně použít k provádění útoků.

Zdroj: opennet.ru

Přidat komentář