A Realtek SDK egyes komponenseiben, amelyet számos vezeték nélküli eszköz gyártó használ a firmware-jében, négy sebezhetőséget fedeztek fel, amelyek lehetővé teszik a nem hitelesített támadó számára, hogy távolról kódot hajtson végre a meglévő, magasabb jogosultságú eszközökön. Előzetes értékelések szerint a problémák legalább 200 eszközmodellt érintenek 65 különböző szállítótól, beleértve az Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Realtek, Smartlink, UPVEL, ZTE és Zyxel különböző vezeték nélküli routereit.
A probléma különböző vezeték nélküli eszközosztályokat érint, amelyek az RTL8xxx SoC-ra épülnek, a vezeték nélküli routerektől és Wi-Fi erősítőktől kezdve az IP kamerákig és okos világítási megoldásokig. Az RTL8xxx chipkészlettel rendelkező eszközökben olyan architektúrát alkalmaznak, amely két SoC telepítését igényli — az elsőre a gyártó Linux-alapú firmware-ját telepítik, míg a második egy külön Linux környezetet futtat, amely az Access Point funkciókat valósítja meg. A második környezet alapja a Realtek által a SDK-ban biztosított szabványos komponensek. A megadott komponensek többek között a külső lekérdezések alapján beérkező adatok feldolgozását is végzik.
A sebezhetőségek azokban a termékekben találhatók, ahol a Realtek SDK v2.x, a Realtek "Jungle" SDK v3.0-3.4, és a Realtek "Luna" SDK 1.3.2 verzióig találhatók. A hibákat már javították a Realtek "Luna" SDK 1.3.2a frissítésében, és készülnek a javítócsomagok a Realtek "Jungle" SDK számára is. A Realtek SDK 2.x esetében nem terveznek javítást kiadni, mivel ennek a verziónak a támogatása már megszűnt. Minden sebezhetőséghez munkaképes exploid prototípusokat biztosítottak, amelyek lehetővé teszik, hogy a támadó végrehajtsa saját kódját az eszközön.
A felfedezett sebezhetőségek (az első kettő 8.1, a maradék 9.8 veszélyességi szintet kapott):
- CVE-2021-35392 — puffer túlcsordulás a mini_upnpd és wscd folyamatokban, amelyek a "WiFi Simple Config" funkcionalitást valósítják meg (a mini_upnpd az SSDP csomagok feldolgozásáért felelős, míg a wscd az SSDP mellett az UPnP HTTP protokollal kapcsolatos kérelmek kezelését végzi). A támadó elérheti a saját kódja végrehajtását, ha különlegesen megformált UPnP "SUBSCRIBE" kérelmeket küld, amelyekben a "Callback" mező portszáma túl nagy értéket tartalmaz. SUBSCRIBE /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Callback: NT: upnp:event
- CVE-2021-35393 — a vulnerability in the "WiFi Simple Config" handlers, which manifests when using the SSDP protocol (which uses UDP and a request format similar to HTTP). The issue is caused by the use of a fixed buffer, 512 bytes in size, when processing the parameter "ST:upnp" in M-SEARCH messages sent by clients to discover services on the network.
- CVE-2021-35394 — a vulnerability in the MP Daemon process, responsible for executing diagnostic operations (ping, traceroute). The issue allows for commands to be substituted due to insufficient argument checking when executing external utilities.
- CVE-2021-35395 — a series of vulnerabilities in web interfaces based on the http servers /bin/webs and /bin/boa. In both szervereken típikus sebezhetőségeket fedtek fel, amelyeket a külső utilitások rendszer() függvénnyel történő elindítása előtti argumentum-ellenőrzés hiánya okoz. A különbségek csupán abban állnak, hogy eltérő API-kat használnak a támadáshoz. Mindkét feldolgozó nem tartalmazott védelmet a CSRF-támadások ellen, valamint a "DNS rebinding" technikát, amely lehetővé teszi a külső hálózatról érkező kérések küldését, miközben a hozzáférést csak a belső hálózat számára korlátozzák. Az eljárások során alapértelmezés szerint a supervisor/supervisor előre definiált fiók volt használatban. Ezenkívül a feldolgozókban számos verem-túlcsordulás is felfedezésre került, amely a túl nagy méretű argumentumok küldésekor jelentkezik. POST \/goform\/formWsc HTTP\/1.1 Host: 192.168.100.254 Content-Length: 129 Content-Type: application\/x-www-form-urlencoded submit-url=wlwps.asp&resetUnCfg=0&peerPin=12345678;ifconfig>\/tmp\/1;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
- Additionally, several vulnerabilities were identified in the UDPServer process. It turned out that one of the issues had been discovered by other researchers back in 2015, but was not fully corrected. The problem is caused by insufficient checking of arguments passed to the system() function and can be exploited by sending a string like 'orf;ls' to network port 9034. Moreover, a buffer overflow was found in the UDPServer due to unsafe use of the sprintf function, which may also potentially be used for attacks.
Forrás: opennet.ru
