Découverte d’une porte dérobée d’authentification cachée dans plusieurs versions du firmware Tenda
(kb.cert.org)- Certains firmwares d’équipements réseau Tenda contiennent une porte dérobée d’authentification non documentée, permettant d’obtenir les privilèges administrateur de l’interface d’administration web sans identifiants valides
- CVE-2026-11405 fonctionne selon un flux où, après l’échec de la vérification normale du mot de passe, la valeur
sys.rzadmin.passwordest vérifiée comme mot de passe alternatif - Si le mot de passe saisi correspond à cette valeur de configuration, une session administrateur
role=2est créée sans vérification du nom d’utilisateur, ce qui conduit à un contournement de l’authentification - Le périmètre affecté couvre certaines versions de firmware des gammes FH1201, W15E, AC10, AC5 et AC6, et une exploitation permet de reconfigurer l’appareil, modifier les paramètres réseau et désactiver des fonctions de sécurité
- En l’absence de correctif, il faut s’appuyer sur des mesures d’atténuation limitées, comme la désactivation de l’administration web à distance et le changement de l’adresse IP LAN par défaut, pour réduire l’exposition
Fonctionnement et risques de la porte dérobée d’authentification
- Tenda fournit des équipements réseau pour les particuliers et les entreprises, notamment des routeurs, commutateurs, points d’accès sans fil et équipements de vidéosurveillance
- Beaucoup de ces appareils proposent une interface web pour la configuration et l’administration, généralement protégée par un nom d’utilisateur et un mot de passe
- Le binaire
/bin/httpddes firmwares vulnérables contient, dans la fonctionlogin(), un mécanisme d’authentification dérobé non documenté- Il exécute d’abord la vérification normale du mot de passe, basée sur MD5
- Si l’authentification échoue, il appelle
GetValue("sys.rzadmin.password")pour récupérer dans la configuration de l’appareil une valeur de mot de passe alternative - Il compare ensuite directement en clair le mot de passe saisi par l’utilisateur et la valeur stockée, via
strcmp() - Si les valeurs correspondent, il attribue les privilèges administrateur
role=2et crée une session valide
- Dans ce flux, la vérification du nom d’utilisateur est absente
- Quel que soit le nom d’utilisateur saisi, l’authentification réussit s’il est soumis avec le mot de passe de la porte dérobée
- Ce mécanisme d’authentification n’est pas documenté et n’apparaît pas dans l’interface d’administration
- Une exploitation réussie permet d’obtenir un accès administrateur complet à l’interface web de l’appareil, indépendamment des identifiants du compte administrateur configuré
- Reconfiguration de l’appareil possible
- Modification des paramètres réseau possible
- Désactivation de fonctions de sécurité possible
- Peut conduire à une compromission plus large du réseau local
Firmwares affectés et réponse actuelle
- Versions de firmware affectées :
US_FH1201V1.0BR_V1.2.0.14(408)_EN_TDUS_W15EV1.0br_V15.11.0.5(1068_1567_841)_EN_TDEUS_AC10V1.0re_V15.03.06.46_multi_TDE01US_AC5V1.0RTL_V15.03.06.48_multi_TDE01US_AC6V2.0RTL_V15.03.06.51_multi_T
- La coordination de la vulnérabilité avec le fournisseur a échoué et aucun correctif n’est disponible
- Mesures d’atténuation possibles en attendant une version corrigée :
- Désactiver l’administration à distance
- Si l’appareil prend en charge l’administration web à distance, cette fonction doit être désactivée
- Cela permet d’empêcher des attaquants depuis des réseaux externes d’accéder au tableau de bord d’administration de l’appareil via Internet
- Limiter l’exposition sur le réseau local
- Changer l’adresse IP LAN par défaut peut réduire la détection opportuniste par des scanners automatisés visant les plages d’IP par défaut connues
- Cette mesure ne bloque pas les scans réseau intentionnels ou ciblés
- Désactiver l’administration à distance
- Identifiants et références associés :
1 commentaires
Avis sur Hacker News
L’article ne donne pas la valeur de
sys.rzadmin.password, mais elle est publiée dans une analyse de 2022 : https://boschko.ca/tenda_ac1200_router/Spoiler : la valeur est rzadmin, et le firmware semble contenir pas mal d’autres choses intéressantes
Une backdoor aurait au moins essayé d’être un peu plus discrète, je pense :)
rzse lit comme de l’allemand, car dans les pays germanophones c’est une abréviation courante de RechenZentrum, c’est-à-dire datacenterEn anglais, ce serait un peu comme
dcadmin. Ça donne l’impression qu’ils ont sous-traité à quelqu’un du genre « gute Deutsche Wertarbeit », ou que c’est la trace d’une agence qui s’est amusée, ou encore un écran de fumée de quelqu’unJe ne connaissais pas bien Tenda, mais ils sont présentés comme un fournisseur de routeurs, switches, points d’accès sans fil et équipements de vidéosurveillance pour particuliers et entreprises, et leur présentation d’entreprise est ici : https://www.tendacn.com/us/profile
Parmi les marques chinoises, il arrive souvent qu’un même matériel interne soit juste rhabillé avec un boîtier différent ou rebrandé comme une marque concurrente, donc je me demande si Tenda ne pourrait pas être dans ce cas. J’ai déjà vu ça du côté des caméras de sécurité
J’aurais aimé que les auteurs fournissent aussi une méthode de vérification de la vulnérabilité, et pas seulement les versions de firmware. Tenda pourrait très bien changer uniquement le mot de passe et dire « maintenant c’est sûr »
J’ai encore quelque part dans un placard un adaptateur Ethernet CPL acheté il y a une dizaine d’années. À l’époque, un mot de passe administrateur
adminétait presque la norme, et il était souvent imprimé directement sur l’appareilComme ce n’est pas une entreprise publique ou quelque chose du genre, je pencherais moins pour une intention extrêmement malveillante que pour un manque total de souci de la qualité
« Le nom d’utilisateur connecté n’est pas vérifié, donc n’importe quel nom d’utilisateur fonctionne avec le mot de passe de backdoor » : impressionnant
Je ne vois pas pourquoi des clients devraient faire confiance à ce fabricant. À partir de maintenant, je pense ne plus jamais utiliser de routeur avec un firmware boîte noire fourni par le vendeur
Avant utilisation, j’installerais toujours quelque chose comme OpenWRT, et si pour une raison quelconque ce n’est pas possible, je n’envisagerais même pas d’acheter ce matériel
Dans des endroits où les réseaux sans fil sont denses et saturés, comme les immeubles d’appartements, ces fonctions sont importantes pour assurer la couverture, la puissance du signal et le débit. Je me demande si OpenWRT a trouvé un contournement, ou si les fabricants sont devenus plus coopératifs avec les pilotes ouverts utilisant des firmwares chargeables
Dans ce cas, l’efficacité énergétique sera forcément bien moins bonne que celle d’un équipement utilisant une puce de switch dédiée
C’est étonnant de voir les fabricants d’équipements réseau produire des cochonneries avec une telle constance
Et en plus, ce sont toujours des backdoors d’amateurs. Si elles étaient au moins sophistiquées, on pourrait se dire « bon, une agence de sécurité a sûrement demandé ça » et passer à autre chose
Ou alors elles sont volontairement mises à ce niveau pour être découvertes
En fait, c’est plutôt une bonne nouvelle. J’ai quelques routeurs cube de Tenda ; en pratique, ce sont surtout des répéteurs WiFi avec un peu de mesh par-dessus, mais j’ai toujours détesté le fait que leur firmware soit autant lié à l’application
Maintenant, avec un accès root, il devrait être beaucoup plus simple de contourner l’application, et je pourrai aussi désactiver le mécanisme de ping qui envoie en continu des requêtes DNS vers
microsoft.compour afficher le voyant vertHonnêtement, ça ressemble moins à une « backdoor » au sens malveillant qu’à des identifiants d’accès développeur ou des identifiants par défaut restés intégrés au firmware. Le flux prévu était probablement de conserver le code, mais de randomiser la clé en production pour la rendre impossible à deviner ; sauf qu’ils ont négligé cette étape supplémentaire, ou bien ont flashé le firmware d’origine sans configuration de production, ce qui l’a fait fuiter
rzadmin. Les scientifiques sont perplexesC’est pour ça que je configure moi-même mon routeur/pare-feu avec du matériel générique et une distribution Linux
ipchains. À l’époque, c’était le seul moyen d’obtenir un routeur qui ne coûte pas une fortuneLes routeurs grand public/prosumer ne sont arrivés qu’ensuite ; au final, l’ancien redevient nouveau
À l’époque où le WiFi des hôtels ressemblait à une drôle de bête imprévisible, j’ai déjà utilisé un produit WiFi de voyage de Tenda
Aujourd’hui, avec l’eSIM et les forfaits Internet de voyage largement disponibles, le WiFi de l’hôtel est peut-être même le moyen de connexion le moins fiable, donc je ne pense pas que ce soit vraiment nécessaire
J’ai aussi un équipement Mikrotik offert, dans la même gamme de prix ; il est physiquement plus petit et exécute quelque chose qui ressemble à du code principal. Quoi qu’on pense de la qualité de Mikrotik, ils fournissent à peu près toutes les poignées de configuration qu’on peut vouloir
Chaque utilisateur est dans son propre VLAN, et chaque chambre utilise un PPSK distinct. Les identifiants sont générés aléatoirement, pas selon un schéma absurde du type nom de famille + numéro de chambre. Nous avons aussi créé notre propre système de contrôle d’accès, et utilisé les cartes-clés les plus solides que nous pouvions trouver à l’époque, des MIFARE DESFire EV3. Nous essayons vraiment de construire un hôtel où la sécurité n’a pas l’air d’une blague
Les États-Unis/Israël ne feraient jamais ce genre de chose, donc il suffit d’acheter du UniFi/Fortinet/Palo Alto !
Exemple : https://www.thestack.technology/cisco-hard-coding-passwords-...
Mon
ifconfigest simple. Si c’est fabriqué à Shenzhen, je le jetteLe matériel/firmware Tenda récent est chiffré, comme dans les exemples ci-dessous, ce qui semble rendre l’audit plus difficile
US_AC10V6.0si_V16.03.62.09_multi_TDE01.binetUS_BE12ProV1.0mt_V16.03.66.23_TD01.bin, examinés avecbinwalk, étaient chiffrés avec OpenSSLLe troisième que j’ai essayé,
US_W18EV2_kf_V16.01.0.20(4766)_HighPower (1).bin, n’était pas chiffré, ce qui montre que d’autres modèles ne figurant pas dans la liste des appareils affectés par cette CVE pourraient aussi être concernés. À l’intérieur,/squashfs-root/webroot_ro/default_ac.cfgetdefault_router.cfgcontiennentsys.rzadmin.username=rzadmin,sys.rzadmin.password=cnphZG1pbg==, qui se décode en Base64 enrzadmin. On voit aussiguest/guestD’après un examen rapide,
sys.rzadmin.passwordn’est référencé que dans le contexte où la fonctionlogin()de/bin/httpdrécupère et compare la valeur ; en cas d’échec, elle affiche"login err: password is wrong.". Je n’ai trouvé, nulle part dans le firmware, de référence à du code permettant à l’utilisateur de modifier cette valeur par défautEn prime,
imsd_upload_log_v1dans/bin/imsdcollecte le SSID, l’adresse MAC, l’adresse IP,sys.admin.username,sys.rzadmin.usernameet le fuseau horaire, tandis queimsd_remote_pwd_getrécupèresys.admin.password. La bibliothèque associée/lib/lubucapi.sosemble également être un binaire qui mériterait un examen plus poussé ; elle paraît contenir un ensemble de commandes permettant la gestion cloud ou le débogage à distance des routeurs Tenda, ce qui pourrait aussi expliquer la présence deimsd_remote_pwd_getdans/bin/imsd