Schwachstellen im Realtek SDK führten zu Problemen bei Geräten von 65 Herstellern

In Komponenten des Realtek SDK, das von verschiedenen Herstellern drahtloser Geräte in ihrer Firmware verwendet wird, wurden vier Schwachstellen identifiziert, die es einem nicht authentifizierten Angreifer ermöglichen könnten, Code aus der Ferne auf einem Gerät mit erhöhten Rechten auszuführen. Nach vorläufigen Schätzungen betreffen die Probleme mindestens 200 Gerätemodelle von 65 verschiedenen Anbietern, darunter verschiedene Modelle der WLAN-Router 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, die auf dem RTL8xxx-SoC basieren, von drahtlosen Routern und WLAN-Verstärkern bis hin zu IP-Kameras und intelligenten Lichtsteuerungsgeräten. Geräte, die auf RTL8xxx-Chips basieren, verwenden eine Architektur, die die Installation von zwei SoCs beinhaltet – der erste installiert die Linux-basierte Firmware des Herstellers und der zweite betreibt eine separate, abgespeckte Linux-Umgebung mit der Implementierung von Access-Point-Funktionen. Die Befüllung der zweiten Umgebung basiert auf Standardkomponenten, die Realtek im SDK bereitstellt. Diese Komponenten verarbeiten auch Daten, die durch das Senden externer Anfragen eingehen.

Die Schwachstellen betreffen Produkte, die Realtek SDK v2.x, Realtek „Jungle“ SDK v3.0-3.4 und Realtek „Luna“ SDK vor Version 1.3.2 verwenden. Der Fix wurde bereits im Realtek „Luna“ SDK 1.3.2a-Update veröffentlicht und Patches für das Realtek „Jungle“ SDK werden ebenfalls zur Veröffentlichung vorbereitet. Es gibt keine Pläne, Korrekturen für Realtek SDK 2.x zu veröffentlichen, da die Unterstützung für diesen Zweig bereits eingestellt wurde. Für alle Schwachstellen werden funktionierende Exploit-Prototypen bereitgestellt, mit denen Sie Ihren Code auf dem Gerät ausführen können.

Identifizierte Schwachstellen (den ersten beiden wird der Schweregrad 8.1 zugewiesen, den anderen der Schweregrad 9.8):

  • CVE-2021-35392 – Pufferüberlauf in den Prozessen mini_upnpd und wscd, die die „WiFi Simple Config“-Funktionalität implementieren (mini_upnpd verarbeitet SSDP-Pakete und wscd verarbeitet zusätzlich zur Unterstützung von SSDP UPnP-Anfragen basierend auf dem HTTP-Protokoll). Ein Angreifer kann die Ausführung seines Codes erreichen, indem er speziell gestaltete UPnP-„SUBSCRIBE“-Anfragen mit einer zu großen Portnummer im „Callback“-Feld sendet. ABONNIEREN /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Rückruf: NT:upnp:event
  • CVE-2021-35393 ist eine Schwachstelle in WiFi Simple Config-Handlern, die bei Verwendung des SSDP-Protokolls auftritt (verwendet UDP und ein HTTP-ähnliches Anforderungsformat). Das Problem wird durch die Verwendung eines festen Puffers von 512 Bytes bei der Verarbeitung des Parameters „ST:upnp“ in M-SEARCH-Nachrichten verursacht, die von Clients gesendet werden, um das Vorhandensein von Diensten im Netzwerk zu ermitteln.
  • CVE-2021-35394 ist eine Schwachstelle im MP-Daemon-Prozess, der für die Durchführung von Diagnosevorgängen (Ping, Traceroute) verantwortlich ist. Das Problem ermöglicht die Ersetzung eigener Befehle aufgrund unzureichender Argumentüberprüfung bei der Ausführung externer Dienstprogramme.
  • Bei CVE-2021-35395 handelt es sich um eine Reihe von Schwachstellen in Webschnittstellen, die auf den http-Servern /bin/webs und /bin/boa basieren. Auf beiden Servern wurden typische Schwachstellen identifiziert, die durch das Fehlen von Prüfargumenten vor dem Start externer Dienstprogramme mithilfe der system()-Funktion verursacht wurden. Die Unterschiede liegen lediglich in der Verwendung unterschiedlicher APIs für Angriffe begründet. Beide Handler verfügten nicht über einen Schutz vor CSRF-Angriffen und die „DNS-Rebinding“-Technik, die das Senden von Anfragen von einem externen Netzwerk ermöglicht und gleichzeitig den Zugriff auf die Schnittstelle nur auf das interne Netzwerk beschränkt. Prozesse werden standardmäßig auch auf den vordefinierten Supervisor/Supervisor-Account angewendet. Darüber hinaus wurden mehrere Stack-Überläufe in den Handlern identifiziert, die beim Senden zu großer Argumente auftreten. POST /goform/formWsc HTTP/1.1 Host: 192.168.100.254 Inhaltslänge: 129 Inhaltstyp: application/x-www-form-urlencoded subscribe-url=%2Fwlwps.asp&resetUnCfg=0&peerPin=12345678;ifconfig>/tmp/1 ;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
  • Darüber hinaus wurden mehrere weitere Schwachstellen im UDPServer-Prozess identifiziert. Wie sich herausstellte, war eines der Probleme bereits 2015 von anderen Forschern entdeckt, jedoch nicht vollständig behoben worden. Das Problem wird durch eine fehlende ordnungsgemäße Validierung der an die system()-Funktion übergebenen Argumente verursacht und kann ausgenutzt werden, indem eine Zeichenfolge wie „orf;ls“ an Netzwerkport 9034 gesendet wird. Darüber hinaus wurde ein Pufferüberlauf im UDPServer aufgrund einer unsicheren Verwendung der Sprintf-Funktion festgestellt, der möglicherweise auch für Angriffe genutzt werden kann.

Source: opennet.ru

Kommentar hinzufügen