🔍 Contexte
Publié le 23 septembre 2026 par Matt Jones (elttam Security), cet article de recherche détaille la découverte et l’exploitation d’une vulnérabilité de type format string (CWE-134) dans tac_plus, le daemon TACACS+ issu du code de référence Cisco des années 1990. La vulnérabilité est qualifiée de CVE-pending au moment de la publication.
🐛 La vulnérabilité
La faille réside dans la fonction send_authen_error() du fichier packet.c. Le champ session.port, contrôlé par l’attaquant via le champ port d’un paquet AUTHEN/START, est passé directement comme format string à la fonction report(), elle-même wrapper de vsnprintf().
- Vecteur : pré-authentification, deux paquets suffisent
- Impact : exécution de code arbitraire en tant que daemon user (root par défaut)
- Versions affectées : toutes les versions Shrubbery jusqu’à F4.0.4.31, le fork Facebook F4.0.4.28-7fb, et tout code hérité du Developer’s Kit Cisco
- Version corrigée : Shrubbery F4.0.4.32 (21 septembre 2026)
- Fork Facebook : archivé en août 2025, ne sera pas corrigé
⛓️ Chaîne d’exploitation : Oracle PSK
Le corps des paquets TACACS+ est obfusqué via XOR avec un keystream dérivé du PSK (clé pré-partagée). Pour exploiter la faille sans connaître le secret :
- Envoi d’un paquet AUTHEN/START tronqué → le serveur répond avec un message d’erreur prévisible
- Plaintext connu :
<IP attaquant> : Invalid AUTHEN/START packet (too short) - Brute-force offline du PSK à partir de la réponse chiffrée (résolution en secondes avec
rockyou.txt) - Construction d’un payload correctement obfusqué exploitant la format string
Cette chaîne ne nécessite aucune position on-path, aucune capture de trafic, aucun accès préalable.
🔗 Vecteur alternatif : Laundering via client de confiance
Un attaquant pouvant atteindre uniquement le formulaire de login d’un équipement réseau (réseau corporate voire internet public) peut soumettre un username surdimensionné. Si le client tronque le champ plutôt que de le rejeter, le serveur lit la fin du username comme le champ port, permettant d’injecter la format string via un client légitime qui effectue l’obfuscation avec le PSK.
🕵️ Contexte threat intelligence
- Salt Typhoon (acteur étatique chinois) : capturait du trafic TACACS+/SNMP/RADIUS et des PSK sur des équipements compromis (Cisco Talos, février 2025 ; CISA AA25-239A, août 2025)
- Fire Ant / UNC3886 : toolset TacTap injecté dans
tac_pluspour intercepter les credentials depuis l’intérieur du daemon (Sygnia, août 2026) - CVE-2023-45239 / CVE-2023-48643 : injections de commandes antérieures dans les forks Facebook et Shrubbery (configuration non-default requise)
📋 Chronologie de divulgation
- Janvier 2026 : découverte
- 6 février 2026 : rapport à Meta (bug bounty) → hors scope (projet archivé)
- 3 juin 2026 : rapport à Shrubbery Networks → silence pendant 3 mois
- 8 août 2026 : rapport à Cisco PSIRT → confirmé non affecté
- 1er septembre 2026 : réponse de Shrubbery (J+90, depuis une queue spam)
- 21 septembre 2026 : publication de F4.0.4.32
- 23 septembre 2026 : publication de ce post et de l’advisory
📄 Type d’article
Publication de recherche technique offensive avec proof-of-concept, analyse historique du protocole, chaîne d’exploitation complète et chronologie de divulgation responsable.
🧠 TTPs et IOCs détectés
Acteurs de menace
- Salt Typhoon (state-sponsored) — orkl.eu · Malpedia · MITRE ATT&CK
- UNC3886 (state-sponsored) — orkl.eu · Malpedia · MITRE ATT&CK
TTP
- T1040 — Network Sniffing (Credential Access)
- T1556 — Modify Authentication Process (Credential Access)
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1203 — Exploitation for Client Execution (Execution)
- T1110 — Brute Force (Credential Access)
IOC
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 25 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- TacTap (tool)
🟡 Indice de vérification factuelle : 60/100 (moyenne)
- ⬜ elttam.com — source non référencée (0pts)
- ✅ 45342 chars — texte complet (fulltext extrait) (15pts)
- ✅ 3 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 5 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ✅ acteur(s) identifié(s) : Salt Typhoon, UNC3886 (5pts)
- ✅ 2/2 CVE(s) confirmée(s) (CIRCL) (5pts)
🔗 Source originale : https://www.elttam.com/blog/att-cking-tacacs-to-pwn-your-network-via-a-pre-auth-rce#introduction