
CVE-2026-32746 - GNU InetUtils telnetd LINEMODE SLC Buffer Overflow PoC (pre-auth RCE, CVSS 9.8)
Débordement de tampon avant authentification dans le gestionnaire SLC (Set Local Characters) LINEMODE de telnetd de GNU InetUtils.
CVSS 3.1: 9.8 (Critique) | CWE: CWE-120, CWE-787
La fonction add_slc() dans telnetd/slc.c ajoute 3 octets par triplet SLC dans un tampon fixe de 108 octets (slcbuf) sans vérification des limites. Un attaquant non authentifié peut envoyer une sous-option SLC contrefaite avec 40+ triplets (codes de fonction > 18/NSLC) lors de la négociation des options - avant toute invite de connexion - provoquant un débordement du tampon et corrompant le pointeur slcptr et les données adjacentes dans BSS.
# Build the vulnerable lab environment
docker compose up -d
# Detect (non-destructive)
python3 detect.py 127.0.0.1 2323
# Exploit (triggers overflow, verifies via response)
python3 exploit.py 127.0.0.1 2323
# Clean up
docker compose down
La configuration Docker exécute un conteneur Debian avec inetutils-telnetd 2.4 sous xinetd, exposé sur le port 2323. Complètement isolé - rien ne touche votre hôte.
WILL LINEMODE pour déclencher la négociation LINEMODEDO LINEMODE et entre dans le traitement de la sous-option SLCadd_slc() met en file d'attente une réponse « non pris en charge » (3 octets) pour chaque triplet dans un tampon de 104 octetsslcptr et les données BSS adjacentesend_slc() envoie tout depuis slcbuf jusqu'à la position corrompue de slcptr, y compris la mémoire BSS divulguée dans la réponsePour une analyse approfondie de l'exploitation, y compris les contraintes d'octets, les techniques d'alignement et la primitive def_slcbuf/free() sur les systèmes 32 bits, voir l'article de WatchTowr.
Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation. Ne l'utilisez pas contre des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas l'autorisation explicite de tester. L'auteur n'est pas responsable d'une mauvaise utilisation.
Vulnérabilité découverte par : Adiel Sol, Arad Inbar, Erez Cohen, Nir Somech, Ben Grinberg, Daniel Lubel (DREAM Security Research Team)
MIT
| Fichier | Description |
|---|
exploit.py | Débordement PoC avec vérification basée sur la réponse |
Dockerfile | Laboratoire telnetd vulnérable |
docker-compose.yml | Configuration du laboratoire en une commande |
xinetd-telnet.conf | Configuration du service xinetd |
detect.py | Script de détection de version non destructif |