Getting a Shell on the Tapo C260 Webcam (CVE-2026-0651, CVE-2026-0652, CVE-2026-0653)
Mis à jour :
Analyse des vulnérabilités de la caméra TP-Link Tapo C260
La recherche sur la caméra connectée TP-Link Tapo C260 a révélé trois vulnérabilités critiques permettant une prise de contrôle totale de l’appareil via l’enchaînement de failles de lecture de fichiers et d’injection de commandes.
Points clés
- Surface d’attaque : Le binaire
/bin/maingère les services réseau (SOAP, ONVIF, HTTP). L’analyse statique a permis d’identifier une implémentation personnalisée du serveur HTTP, propice aux erreurs de développement. - Méthodologie : L’utilisation d’une faille de lecture de fichiers (LFD) a servi de base pour inspecter la configuration interne en temps réel, facilitant ainsi la découverte d’un chemin d’exécution de code à distance (RCE).
- Chaînage : Le vecteur d’attaque repose sur la modification de paramètres de configuration via des requêtes API légitimes, puis sur le déclenchement d’une fonction interne qui traite ces paramètres de manière non sécurisée.
Vulnérabilités identifiées
- CVE-2026-0651 (Local File Disclosure - LFD) : Absence de sanitisation lors du traitement des chemins d’accès dans le serveur HTTP (via des séquences
../encodées en URL), permettant de lire des fichiers arbitraires du système. - CVE-2026-0652 (Remote Code Execution - RCE) : Injection de commande dans le paramètre
dev_namede la configuration. L’API permet de modifier arbitrairement des fichiers de configuration, et une fonction interne (get_oemid_by_region_and_device_name) transmet ce paramètre directement àpopensans validation. - CVE-2026-0653 (Privilege Escalation) : Permet à un utilisateur invité d’outrepasser les restrictions d’accès pour modifier des configurations sensibles, menant in fine à l’exécution de code.
Recommandations
- Mise à jour du firmware : Appliquer les correctifs fournis par TP-Link via le support officiel pour combler ces failles.
- Renforcement des entrées : Implémenter une validation stricte de tous les paramètres fournis par l’utilisateur (même via l’API mobile) avant toute écriture dans les fichiers de configuration ou passage à des fonctions système.
- Sanitisation des chemins : Appliquer une vérification rigoureuse contre les attaques de type Path Traversal dans les gestionnaires de requêtes HTTP.
- Principe du moindre privilège : Restreindre les capacités des comptes invités sur les API de gestion de configuration pour empêcher la modification de paramètres critiques du système.
