Quatre vulnérabilités ont été révélées dans les composants du SDK de Realtek, utilisé par divers fabricants d'appareils sans fil dans leurs firmwares, permettant à un attaquant non authentifié d'exécuter à distance du code sur l'appareil avec des privilèges élevés. Selon les premières estimations, les problèmes touchent au moins 200 modèles d'appareils de 65 fournisseurs différents, y compris divers modèles de routeurs sans fil Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Realtek, Smartlink, UPVEL, ZTE et Zyxel.
Le problème concerne différentes catégories d'appareils sans fil basés sur SoC RTL8xxx, allant des routeurs sans fil et des amplificateurs Wi-Fi aux caméras IP et aux appareils intelligents pour la gestion de l'éclairage. Les appareils basés sur les puces RTL8xxx utilisent une architecture qui implique l'installation de deux SoC : le premier hébergeant le firmware du fabricant basé sur Linux, et le second exécutant un environnement Linux distinct et limité avec une implémentation des fonctions du point d'accès. Le matériel de ce second environnement est basé sur des composants standards fournis par Realtek dans le SDK. Ces composants traitent notamment les données provenant des requêtes externes.
Les vulnérabilités concernent les produits utilisant Realtek SDK v2.x, Realtek « Jungle » SDK v3.0-3.4 et Realtek « Luna » SDK jusqu'à la version 1.3.2. Un correctif a déjà été publié dans la mise à jour du Realtek « Luna » SDK 1.3.2a, et des patchs pour le Realtek « Jungle » SDK sont en préparation. Aucun correctif ne sera publié pour le Realtek SDK 2.x, car le support de cette branche a déjà été arrêté. Des prototypes exploitables ont été fournis pour toutes les vulnérabilités, permettant l'exécution de code sur l'appareil.
Les vulnérabilités identifiées (les deux premières ayant reçu un niveau de gravité de 8.1, et les autres de 9.8) :
- CVE-2021-35392 — débordement de tampon dans les processus mini_upnpd et wscd, qui implémentent la fonctionnalité « WiFi Simple Config » (mini_upnpd gère les paquets SSDP, tandis que wscd, en plus de prendre en charge SSDP, gère les requêtes UPnP basées sur le protocole HTTP). Un attaquant peut exécuter son code en envoyant des requêtes UPnP « SUBSCRIBE » spécialement formatées avec une valeur de port trop élevée dans le champ « Callback ». SUBSCRIBE /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Callback: NT: upnp:event
- CVE-2021-35393 — vulnérabilité dans les gestionnaires « WiFi Simple Config », qui se manifeste lors de l'utilisation du protocole SSDP (utilise UDP et un format de requête similaire à HTTP). Le problème est causé par l'utilisation d'un tampon fixe de 512 octets lors du traitement du paramètre « ST:upnp » dans les messages M-SEARCH envoyés par les clients pour détecter la disponibilité des services sur le réseau.
- CVE-2021-35394 — vulnérabilité dans le processus MP Daemon, qui est responsable de l'exécution des opérations de diagnostic (ping, traceroute). Le problème permet l'injection de commandes en raison d'un contrôle insuffisant des arguments lors de l'exécution d'outils externes.
- CVE-2021-35395 — série de vulnérabilités dans les interfaces web basées sur les serveurs http /bin/webs et /bin/boa. Dans les deux cas, serveurs des vulnérabilités typiques ont été identifiées, causées par l'absence de vérification des arguments avant l'exécution d'outils externes par la fonction system(). Les différences ne concernent que l'utilisation de différentes API pour l'attaque. Les deux gestionnaires n'incluaient pas de protection contre les attaques CSRF et les techniques de « DNS rebinding », permettant d'organiser l'envoi de requêtes depuis un réseau externe tout en limitant l'accès à l'interface uniquement au réseau interne. De plus, dans les processus, un compte par défaut nommé supervisor/supervisor était utilisé. En outre, plusieurs débordements de tampon ont été identifiés dans les gestionnaires, se manifestant lors de l'envoi d'arguments de taille trop grande. 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=
- Il est également noté la découverte de plusieurs autres vulnérabilités dans le processus UDPServer. Il s'avère qu'un des problèmes avait déjà été détecté par d'autres chercheurs en 2015, mais n'avait pas été complètement corrigé. Le problème est causé par un manque de vérification adéquate des arguments transmis à la fonction system() et peut être exploité en envoyant sur le port réseau 9034 une chaîne de type 'orf;ls'. De plus, le UDPServer présente un dépassement de tampon en raison de l'utilisation non sécurisée de la fonction sprintf, qui pourrait également être utilisée pour mener des attaques.
Source : opennet.ru
