CVE-2026-24061 : un bypass d’authentification critique dans telnetd menant à un accès root

Expertise en cybersécurité

CVE-2026-24061 : un bypass d’authentification critique dans telnetd menant à un accès root

CVE-2026-24061 : un bypass d’authentification critique dans telnetd menant à un accès root

Certaines vulnérabilités rappellent pourquoi les protocoles hérités n’ont plus leur place dans des environnements modernes. CVE-2026-24061 en est une illustration frappante : une faille critique dans telnetd permettant un bypass complet de l’authentification et une exécution de commandes à distance (RCE) en tant que root, sans mot de passe.

Avec un score CVSS de 9.8 (Critique), cette vulnérabilité est restée inaperçue pendant plus de 11 ans, soulignant une réalité inquiétante : les technologies anciennes sont souvent les moins auditées… et parfois les plus dangereuses.

Résumé de la vulnérabilité

La faille repose sur une combinaison de :

  • la gestion des variables d’environnement Telnet,
  • une mauvaise utilisation de paramètres sensibles dans le binaire login,
  • et l’absence de sanitisation des entrées utilisateur.

Un attaquant distant peut obtenir un shell root instantané avec une simple commande :

USER= »-f root » telnet -a <ip_cible> 23

Analyse technique de la faille

1. Une modification introduite en 2015

En 2015, un commit a introduit la gestion dynamique du nom d’utilisateur (%U) dans le template d’appel à login, afin de supporter des mécanismes d’auto-login :

/usr/bin/login -p -h %h %?u{-f %u}{%U}

telnetd: Enable autologin in legacy mode. · fa3245ac8c – inetutils/inetutils – Codeberg.org

Cette modification, bien que fonctionnelle, a ouvert la porte à une injection de paramètres critiques.

2. Variables d’environnement Telnet (RFC 1572)

Conformément à la RFC 1572, un client Telnet peut transmettre des variables d’environnement arbitraires au serveur, sans filtrage ni sanitisation.

Parmi ces variables figure USER.

Cela permet à un attaquant de définir une valeur contrôlée côté client.

3. Injection directe dans la commande login

En définissant la variable suivante :

USER= »-f root »

La valeur est injectée dans la commande via %U, ce qui aboutit à l’exécution réelle suivante :

/usr/bin/login -p -h <host> -f root

L’option -f indique à login que l’utilisateur est déjà authentifié, ce qui désactive totalement la vérification du mot de passe.

Impact et sévérité

Les conséquences sont majeures :

  • Accès root à distance
  • Aucune interaction utilisateur
  • Aucun mot de passe requis
  • Exploitation triviale
  • Score CVSS : 9.8 (Critique)

Tout système exposant telnetd devient totalement compromis.

Pourquoi cette vulnérabilité est restée invisible si longtemps ?

Plusieurs facteurs expliquent cette longévité :

  • Telnet est considéré comme obsolète, donc rarement audité
  • Les audits modernes se concentrent peu sur les chaînes d’exécution héritées
  • La faille repose sur une interaction subtile entre RFC, variables d’environnement et binaire système
  • Le scénario d’attaque est simple, presque trop évident… une fois découvert

Chez ORNISEC, nous recommandons sans ambiguïté :

  1. Désactiver immédiatement telnetd
  2. Migrer vers SSH avec :
    • Authentification par clés
    • MFA lorsque possible
    • Restrictions d’accès
  3. Auditer les services hérités encore exposés
  4. Mettre en place des politiques de durcissement système
  5. Réduire la surface d’attaque au strict nécessaire

NEWSLETTER