En l'espace de quelques jours fin avril 2026, 22 CVE classées CRITICAL (CVSS 9.8) ont été publiées sur le routeur Totolink A8000RU firmware 7.1cu.643_b20200521. Toutes exploitent le même composant — le binaire CGI /cgi-bin/cstecgi.cgi — et toutes permettent l'injection de commandes système à distance, sans authentification, avec exploits publics. Cet article consolide l'ensemble pour fournir une vue cohérente plutôt que 22 fiches isolées.
Si vous opérez un parc contenant ce modèle (déploiements résidentiels, PME, branches de petits sites distants), considérez ces équipements comme compromis par défaut tant qu'ils ne sont pas isolés ou remplacés.
Détails techniques
Composant vulnérable commun
Le binaire /cgi-bin/cstecgi.cgi traite les requêtes de configuration de l'interface d'administration. Plusieurs fonctions internes prennent en argument un paramètre HTTP qui est passé directement à un appel système (system(), popen() ou équivalent) sans aucune sanitization. L'attaquant peut donc injecter des séparateurs shell (;, &&, |, `) dans la valeur du paramètre pour exécuter des commandes arbitraires.
Caractéristiques communes aux 22 CVE
- CVSS 3.1 : 9.8 (CRITICAL)
- Vecteur :
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Authentification requise : aucune
- Complexité : faible
- Exploit public : oui pour les 22
- CWE : CWE-78 (OS Command Injection)
- Privilèges obtenus : généralement
root(les processus CGI sur les routeurs domestiques tournent en root)
Liste exhaustive des 22 CVE
| CVE ID | Fonction vulnérable | Paramètre injectable |
|---|---|---|
| CVE-2026-7121 | setWizardCfg | wizard |
| CVE-2026-7122 | setUPnPCfg | enable |
| CVE-2026-7123 | setIptvCfg | setIptvCfg |
| CVE-2026-7124 | setIpv6LanCfg | addrPrefixLen |
| CVE-2026-7125 | setWiFiEasyCfg | merge |
| CVE-2026-7136 | setDmzCfg | wanIdx |
| CVE-2026-7137 | setStorageCfg | sambaEnabled |
| CVE-2026-7138 | setNtpCfg | tz |
| CVE-2026-7139 | setWiFiAclRules | mode |
| CVE-2026-7140 | CsteSystem | HTTP |
| CVE-2026-7152 | setTelnetCfg | telnet_enabled |
| CVE-2026-7153 | setMiniuiHomeInfoShow | sys_info |
| CVE-2026-7154 | setAdvancedInfoShow | tty_server |
| CVE-2026-7155 | setLoginPasswordCfg | admpass |
| CVE-2026-7156 | CsteSystem | HTTP |
| CVE-2026-7202 | setWiFiWpsStart | wscDisabled |
| CVE-2026-7203 | setUrlFilterRules | enable |
| CVE-2026-7204 | setPptpServerCfg | enable |
| CVE-2026-7240 | setVpnAccountCfg | User |
| CVE-2026-7241 | setWiFiBasicCfg | wifiOff |
| CVE-2026-7242 | setOpenVpnClientCfg | enabled |
| CVE-2026-7243 | setRadvdCfg | maxRtrAdvInterval |
| CVE-2026-7244 | setWiFiEasyGuestCfg | merge |
L'ampleur indique un défaut systémique de conception dans le module CGI, et non 22 oublis ponctuels.
Produits et versions affectés
| Produit | Version firmware | Statut |
|---|---|---|
| Totolink A8000RU | 7.1cu.643_b20200521 | ❌ Vulnérable, aucun patch officiel publié |
À ce jour, Totolink n'a publié aucun firmware corrigé ni avis de sécurité officiel. Le modèle A8000RU est commercialisé depuis plusieurs années et fait partie de la gamme grand public — l'absence de support coordonné est le scénario le plus probable.
Exploitation et impact
Vecteur d'attaque
Toute interface réseau exposant le panneau d'administration HTTP du routeur permet l'exploitation. Si l'administration est accessible depuis Internet (configuration courante en remote management activé), n'importe quel attaquant peut compromettre le routeur en quelques secondes.
Ce qu'un attaquant peut faire après compromission
- Persistance complète : modifier le firmware, désactiver les mises à jour, installer une porte dérobée
- Attaque sur le réseau interne : pivot vers les machines du LAN, sniffing du trafic, MITM DNS
- Recrutement dans un botnet : les routeurs SOHO compromis sont massivement utilisés par les opérateurs Mirai et ses dérivés (TheMoon, Mozi)
- Vol de credentials : interception de toutes les requêtes HTTP sortantes, redirection vers des pages de phishing
- Proxy de C2 : utiliser le routeur comme nœud de rebond pour des attaques tierces
Exploits publics
Les 22 CVE ont été divulguées avec leur PoC complet. Reproduire l'attaque est trivial :
# Exemple générique (CVE-2026-7138 - setNtpCfg)
curl "http://<router-ip>/cgi-bin/cstecgi.cgi" \
--data 'topicurl=setNtpCfg&tz=`id > /tmp/pwn`'
L'attaque ne nécessite aucun compte. Les opérateurs de botnets ont déjà commencé à scanner Internet à la recherche de ces équipements.
Détection et IOC
Indicateurs de compromission
- Trafic sortant inhabituel depuis l'IP du routeur (vers C2, IRC, IPs blacklistées)
- Modifications inattendues dans la configuration (DNS, règles NAT, comptes admin)
- Performances dégradées (CPU saturé par crypto-mining ou flood)
- Connexions SSH ou Telnet sortantes inattendues
Logs à surveiller (côté upstream — sur le firewall ou un IDS)
# Détection d'accès suspect au panneau CGI
suricata: alert http any any -> $TOTOLINK_IPS any (msg:"Totolink CGI command injection attempt"; \
http.uri; content:"/cgi-bin/cstecgi.cgi"; \
http.request_body; pcre:"/[;&|`]/"; sid:1000001; rev:1;)
Vérification manuelle de compromission
Si vous avez un accès SSH/Telnet au routeur (ou via console série) :
# Vérifier les processus inhabituels
ps | grep -vE "init|udhcpc|dnsmasq|httpd|telnetd|sshd"
# Vérifier crontab et binaires modifiés
crontab -l
ls -la /tmp/ /var/tmp/ /usr/bin/
# Vérifier les connexions actives
netstat -tnp
Mitigation
Action recommandée : retrait ou isolation
Aucun patch officiel n'étant disponible, les seules mesures efficaces sont :
- Remplacer l'équipement par un modèle supporté (autres marques avec firmware à jour, ou OpenWrt si compatible)
- Isolation réseau stricte si le remplacement n'est pas immédiat :
- Bloquer absolument tout accès au panneau d'administration depuis Internet (désactiver remote management)
- Restreindre l'accès à l'interface admin à une seule IP de management interne via ACL
- Placer le routeur derrière un upstream firewall qui filtre les payloads contenant des caractères shell
Workaround côté upstream
Si vous opérez un firewall amont (pfSense, OPNsense, Fortigate, etc.) qui voit le trafic vers le routeur :
# Bloquer les requêtes contenant des séparateurs shell vers /cgi-bin/cstecgi.cgi
# (à adapter selon le moteur IDS/IPS)
Audit du LAN derrière le routeur
Considérez le LAN derrière un Totolink A8000RU non patché comme potentiellement compromis : tout équipement ayant transité du trafic via ce routeur peut avoir été MITM ou snifé. Auditez les credentials, certificats et comptes machines accordés à ces machines.
Pourquoi surveiller en continu votre parc
Cet incident illustre un schéma classique : un seul équipement défaillant peut concentrer 22 CVE critiques en une seule semaine, sans que l'éditeur ne réagisse. Un inventaire continu de votre parc permet de détecter l'apparition massive de CVE sur un produit donné et de prendre la décision de retrait avant que l'attaque ne survienne.
Avec cveo.tech, suivez les routeurs et autres équipements réseau de votre parc et soyez alerté automatiquement lorsqu'une CVE critique affecte une de vos versions — y compris quand l'éditeur ne propose pas de correctif et qu'il faut prendre la décision de remplacer.