Luki w Realtek SDK doprowadziły do ​​problemów w urządzeniach 65 producentów

W składnikach pakietu Realtek SDK, używanego przez różnych producentów urządzeń bezprzewodowych w oprogramowaniu sprzętowym, wykryto cztery luki w zabezpieczeniach, które mogą umożliwić nieuwierzytelnionemu atakującemu zdalne wykonanie kodu na urządzeniu z podwyższonymi uprawnieniami. Według wstępnych szacunków problemy dotyczą co najmniej 200 modeli urządzeń od 65 różnych dostawców, w tym różnych modeli routerów bezprzewodowych Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT- Link, Netgear, Realtek, Smartlink, UPVEL, ZTE i Zyxel.

Problem dotyczy różnych klas urządzeń bezprzewodowych opartych na układzie SoC RTL8xxx, od routerów bezprzewodowych i wzmacniaczy Wi-Fi po kamery IP i inteligentne urządzenia sterujące oświetleniem. Urządzenia oparte na chipach RTL8xxx korzystają z architektury polegającej na instalacji dwóch SoC – w pierwszym instaluje się firmowy firmware producenta oparty na systemie Linux, a w drugim uruchamiane jest osobne, uproszczone środowisko Linux z implementacją funkcji punktu dostępowego. Wypełnienie drugiego środowiska opiera się na standardowych komponentach dostarczonych przez firmę Realtek w SDK. Komponenty te przetwarzają także dane otrzymane w wyniku przesłania żądań zewnętrznych.

Luki dotyczą produktów korzystających z pakietu Realtek SDK v2.x, Realtek „Jungle” SDK v3.0-3.4 i Realtek „Luna” SDK przed wersją 1.3.2. Poprawka została już wypuszczona w aktualizacji Realtek „Luna” SDK 1.3.2a, a do publikacji przygotowywane są także łatki dla Realtek „Jungle” SDK. Nie planuje się wydawania żadnych poprawek dla Realtek SDK 2.x, ponieważ wsparcie dla tej gałęzi zostało już przerwane. Dla wszystkich luk dostępne są działające prototypy exploitów, które umożliwiają wykonanie kodu na urządzeniu.

Zidentyfikowane podatności (dwie pierwsze mają poziom ważności 8.1, a pozostałe 9.8):

  • CVE-2021-35392 – Przepełnienie bufora w procesach mini_upnpd i wscd, które implementują funkcjonalność „WiFi Simple Config” (mini_upnpd przetwarza pakiety SSDP, a wscd, oprócz obsługi SSDP, przetwarza żądania UPnP w oparciu o protokół HTTP). Osoba atakująca może wykonać swój kod, wysyłając specjalnie spreparowane żądania UPnP „SUBSCRIBE” ze zbyt dużym numerem portu w polu „Callback”. SUBSKRYBUJ /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Oddzwonienie: NT:upnp:zdarzenie
  • CVE-2021-35393 to luka w modułach obsługi WiFi Simple Config, która występuje podczas korzystania z protokołu SSDP (wykorzystuje UDP i format żądania podobny do HTTP). Problem jest spowodowany użyciem stałego bufora o wielkości 512 bajtów podczas przetwarzania parametru „ST:upnp” w komunikatach M-SEARCH wysyłanych przez klientów w celu ustalenia obecności usług w sieci.
  • CVE-2021-35394 to luka w procesie MP Daemon, który odpowiada za wykonywanie operacji diagnostycznych (ping, traciroute). Problem umożliwia podstawienie własnych poleceń z powodu niedostatecznego sprawdzania argumentów podczas wykonywania zewnętrznych narzędzi.
  • CVE-2021-35395 to seria luk w interfejsach internetowych opartych na serwerach http /bin/webs i /bin/boa. W obu serwerach zidentyfikowano typowe podatności spowodowane brakiem sprawdzenia argumentów przed uruchomieniem zewnętrznych narzędzi za pomocą funkcji system(). Różnice sprowadzają się jedynie do wykorzystania różnych API do ataków. Obydwa handlery nie uwzględniły ochrony przed atakami CSRF oraz techniki „rebinding DNS”, która pozwala na wysyłanie żądań z sieci zewnętrznej ograniczając jednocześnie dostęp do interfejsu jedynie do sieci wewnętrznej. Domyślnie procesy są również powiązane z predefiniowanym kontem przełożonego/przełożonego. Ponadto w procedurach obsługi zidentyfikowano kilka przepełnień stosu, które występują, gdy wysyłane są zbyt duże argumenty. POST /goform/formWsc HTTP/1.1 Host: 192.168.100.254 Długość zawartości: 129 Typ zawartości: application/x-www-form-urlencoded Submit-url=%2Fwlwps.asp&resetUnCfg=0&peerPin=12345678;ifconfig>/tmp/1 ;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
  • Ponadto w procesie UDPServer zidentyfikowano kilka kolejnych luk. Jak się okazało, jeden z problemów został odkryty przez innych badaczy już w 2015 roku, ale nie został całkowicie naprawiony. Problem wynika z braku właściwej walidacji argumentów przekazywanych do funkcji system() i można go wykorzystać, wysyłając ciąg znaków taki jak „orf;ls” do portu sieciowego 9034. Dodatkowo w UDPServer zidentyfikowano przepełnienie bufora spowodowane niebezpiecznym użyciem funkcji sprintf, która również może potencjalnie zostać wykorzystana do przeprowadzenia ataków.

Źródło: opennet.ru

Dodaj komentarz