In den Komponenten des Realtek SDK, das von verschiedenen Herstellern drahtloser Geräte in ihren Firmware-Versionen verwendet wird, wurden vier Schwachstellen entdeckt, die es einem nicht authentifizierten Angreifer ermöglichen, aus der Ferne Code mit erhöhten Rechten auf dem Gerät auszuführen. Vorläufigen Schätzungen zufolge sind mindestens 200 Modelle von 65 verschiedenen Anbietern betroffen, darunter verschiedene Modelle von drahtlosen Routern von Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Realtek, Smartlink, UPVEL, ZTE und Zyxel.
Das Problem betrifft verschiedene Klassen von drahtlosen Geräten auf Basis von SoC RTL8xxx, von drahtlosen Routern und Wi-Fi-Entstörern bis hin zu IP-Kameras und intelligenten Geräten zur Steuerung der Beleuchtung. In Geräten, die auf RTL8xxx-Chips basieren, wird eine Architektur verwendet, die die Installation von zwei SoCs vorsieht – auf dem ersten wird die Hersteller-Firmware auf Basis von Linux installiert, während auf dem zweiten eine separate, reduzierte Linux-Umgebung mit der Implementierung von Zugangspunkt-Funktionen läuft. Die Ausstattung der zweiten Umgebung basiert auf typischen Komponenten, die von Realtek im SDK bereitgestellt werden. Diese Komponenten verarbeiten unter anderem die Daten, die durch das Senden externer Anfragen entstehen.
Die Sicherheitsanfälligkeiten betreffen Produkte, die Realtek SDK v2.x, Realtek „Jungle“ SDK v3.0-3.4 und Realtek „Luna“ SDK bis zur Version 1.3.2 verwenden. Ein Fix wurde bereits im Update Realtek „Luna“ SDK 1.3.2a veröffentlicht, und es werden Patches für das Realtek „Jungle“ SDK vorbereitet. Für das Realtek SDK 2.x sind keine Fixes geplant, da die Wartung dieses Zweigs bereits eingestellt wurde. Für alle Sicherheitsanfälligkeiten wurden funktionierende Prototypen von Exploits bereitgestellt, die die Ausführung eigenen Codes auf dem Gerät ermöglichen.
Entdeckte Sicherheitsanfälligkeiten (den ersten beiden wurde ein Gefahrenniveau von 8,1 zugewiesen, den anderen 9,8):
- CVE-2021-35392 – Pufferüberlauf in den Prozessen mini_upnpd und wscd, welche die Funktionalität „WiFi Simple Config“ implementieren (mini_upnpd ist zuständig für die Verarbeitung von SSDP-Paketen, während wscd neben SSDP auch die Verarbeitung von UPnP-Anfragen basierend auf dem HTTP-Protokoll übernimmt). Ein Angreifer kann die Ausführung seines Codes erreichen, indem er speziell formatierte UPnP-Anfragen „SUBSCRIBE“ mit einem zu hohen Wert für die Portnummer im Feld „Callback“ sendet. SUBSCRIBE /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Callback: NT: upnp:event
- CVE-2021-35393 – Sicherheitsanfälligkeit in den Handlern „WiFi Simple Config“, die beim Einsatz des SSDP-Protokolls auftritt (nutzt UDP und ein an HTTP ähnliches Anfrageformat). Das Problem resultiert aus der Verwendung eines festen Puffers von 512 Bytes bei der Verarbeitung des Parameters „ST:upnp“ in den M-SEARCH-Nachrichten, die von Clients gesendet werden, um die Verfügbarkeit von Diensten im Netzwerk zu bestimmen.
- CVE-2021-35394 — Schwachstelle im MP Daemon, der für die Durchführung von Diagnosesystemen (Ping, Traceroute) verantwortlich ist. Das Problem ermöglicht es, eigene Befehle einzuschleusen, da bei der Ausführung externer Tools die Argumente unzureichend geprüft werden.
- CVE-2021-35395 — Eine Reihe von Schwachstellen in den Weboberflächen basierend auf den HTTP-Servern /bin/webs und /bin/boa. In beiden Servern выявлены типовые уязвимости, вызванные отсутствием проверки аргументов перед запуском внешних утилит функцией system(). Отличия сводятся только к использованию для атаки разных API. Оба обработчика не включали защиту от атаки CSRF и техники «DNS rebinding», позволяющей организовать отправку запросов из внешней сети при ограничении доступа к интерфейсу только для внутренней сети. В процессах также по умолчанию использовалась предопределённая учётная запись supervisor/supervisor. Кроме того, в обработчиках выявлено несколько переполнений стека, проявляющихся при отправке аргументов слишком большого размера. 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&peerPin=12345678;ifconfig>/tmp/1;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
- Es wurde festgestellt, dass im UDPServer mehrere weitere Sicherheitsanfälligkeiten bestehen. Eine der Probleme wurde bereits 2015 von anderen Forschern entdeckt, jedoch nicht vollständig behoben. Das Problem resultiert aus unzureichender Validierung der Argumente, die an die Funktion system() übergeben werden, und kann durch das Senden einer Zeichenkette wie 'orf;ls' an den Netzwerkport 9034 ausgenutzt werden. Darüber hinaus wurde im UDPServer ein Pufferüberlauf aufgrund der unsicheren Verwendung der Funktion sprintf entdeckt, der ebenfalls potenziell für Angriffe genutzt werden kann.
Quelle: opennet.ru
