
Script Python pour détecter la vulnérabilité CVE-2026-24061 de telnetd via l'injection NEW-ENVIRON, fournissant une évaluation des risques et des recommandations d'atténuation.
Un outil de test de sécurité en Python pour détecter la vulnérabilité à l'injection de variables d'environnement dans les serveurs telnetd via l'option telnet NEW-ENVIRON.
Ce script teste les serveurs telnetd pour CVE-2026-24061, une vulnérabilité qui permet aux attaquants d'injecter des variables d'environnement via l'option telnet NEW-ENVIRON. Si un serveur gère incorrectement ces variables d'environnement, il peut être vulnérable à l'injection de commandes ou à des attaques de contournement d'authentification.
Le script fournit une sortie détaillée et colorée avec une progression étape par étape, une gestion complète des erreurs, et un résumé final qui inclut le résultat du test, l'évaluation des risques et l'analyse d'impact.
CVE-2026-24061 est une vulnérabilité de sécurité dans les serveurs telnetd qui gèrent incorrectement les variables d'environnement envoyées via l'option telnet NEW-ENVIRON (RFC 1572).
La vulnérabilité se produit lorsque les serveurs telnetd :
L'option NEW-ENVIRON (RFC 1572) permet aux clients telnet d'envoyer des variables d'environnement au serveur. Un serveur vulnérable peut accepter et traiter ces variables sans assainissement, permettant potentiellement à un attaquant d'injecter des valeurs malveillantes qui pourraient conduire à l'exécution de commandes ou au contournement de l'authentification.
Aucune installation requise. Le script est autonome et n'utilise que des modules de la bibliothèque standard Python.
Linux (Ubuntu/Debian) :
sudo apt-get update
sudo apt-get install python3
macOS (avec Homebrew) :
# Installer Homebrew s'il n'est pas déjà installé
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Installer Python 3
brew install python3
# Vérifier l'installation
python3 --version
Windows :
python --version
python --version
Linux/macOS :
./telnetd_CVE‑2026‑24061_test.py <hôte> [port]
Windows (Invite de commandes) :
python telnetd_CVE‑2026‑24061_test.py <hôte> [port]
Windows (PowerShell) :
python telnetd_CVE‑2026‑24061_test.py <hôte> [port]
Linux/macOS :
# Tester le port telnet par défaut (23)
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Tester un port personnalisé
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
# Rendre le script exécutable (si nécessaire)
chmod +x telnetd_CVE‑2026‑24061_test.py
# Ou exécuter directement avec python3
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (Invite de commandes) :
REM Tester le port telnet par défaut (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
REM Tester un port personnalisé
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (PowerShell) :
# Tester le port telnet par défaut (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Tester un port personnalisé
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
macOS (Python Homebrew) :
# Si vous utilisez Python installé via Homebrew, utilisez python3 explicitement
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Ou rendez le script exécutable et exécutez-le directement
chmod +x telnetd_CVE‑2026‑24061_test.py
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
NO_COLOR est définieLe script fournit quatre résultats possibles :
[-] NEW-ENVIRON non accepté
[RÉSULTAT] NON IMPACTÉ
Signification : Le serveur ne prend pas en charge ou n'accepte pas l'option NEW-ENVIRON. Le serveur n'est pas vulnérable à ce vecteur d'attaque spécifique.
Informations du résumé :
Action requise :
[!] ENV accepté par le serveur
[RÉSULTAT] PROBABLEMENT IMPACTÉ (CVE-2026-24061)
Signification : Le serveur a accepté l'option NEW-ENVIRON et semble avoir traité la variable d'environnement injectée. Le serveur est probablement vulnérable à CVE-2026-24061.
Informations du résumé :
Action requise :
[+] Aucune réponse à l'injection ENV
[RÉSULTAT] NON CONCLUANT
Signification : Le serveur a accepté NEW-ENVIRON mais n'a pas fourni de réponse claire. Une vérification manuelle est recommandée.
Informations du résumé :
Action requise :
[RÉSULTAT] ÉCHEC DU TEST - Erreur de communication
Signification : Le test n'a pas pu être terminé en raison d'une erreur de communication.
Informations du résumé :
Action requise :
IAC DO NEW_ENVIRON pour demander l'option NEW-ENVIRONIAC WILL NEW_ENVIRON)USER=-f root via NEW-ENVIRON-f est une technique courante de contournement de connexionLe script utilise les valeurs d'octets standard du protocole telnet :
IAC (255) : Interpréter comme commandeDO (253) : Demander l'activation de l'optionWILL (251) : Accepter d'activer l'optionSB (250) : Début de sous-négociationSE (240) : Fin de sous-négociationNEW_ENVIRON (39) : Numéro d'option NEW-ENVIRON (RFC 1572)La charge utile d'injection suit le format RFC 1572 :
IAC SB NEW_ENVIRON IS VAR USER <0x01>-f root IAC SE
Où :
IAC SB : Début de sous-négociationNEW_ENVIRON : Identifiant de l'optionIS : Sous-négociation d'informationVAR : Indicateur de type de variableUSER : Nom de la variable d'environnement0x01 : Octet VALEUR-f root : Valeur injectéeIAC SE : Fin de sous-négociationLe script inclut une gestion complète des erreurs pour :
Toutes les erreurs sont signalées avec des messages clairs, colorés et conviviaux qui incluent :
⚠️ Important : Ce script est destiné uniquement aux tests de sécurité autorisés.
Si un serveur s'avère vulnérable :
Actions immédiates :
Modifications de configuration :
Solutions à long terme :
Le script détecte automatiquement le support des couleurs du terminal et utilise les couleurs ANSI pour une meilleure lisibilité :
NO_COLOR=1FORCE_COLOR=1Exemple :
# Désactiver les couleurs
NO_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Forcer les couleurs (utile pour certains terminaux)
FORCE_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
Ce script est fourni tel quel à des fins de test de sécurité. Utilisez-le à vos propres risques.
AUCUNE GARANTIE
CE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS LES AUTEURS OU DÉTENTEURS DE DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, HORS OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES INTERACTIONS AVEC LE LOGICIEL.
LIMITATION DE RESPONSABILITÉ
LES AUTEURS, CONTRIBUTEURS ET DISTRIBUTEURS DE CE LOGICIEL NE SERONT PAS RESPONSABLES DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉCUTIF (Y COMPRIS, MAIS SANS S'Y LIMITER, L'ACHAT DE BIENS OU DE SERVICES DE SUBSTITUTION ; LA PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS ; OU L'INTERRUPTION D'ACTIVITÉ) QUELLE QU'EN SOIT LA CAUSE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UN CONTRAT, D'UNE RESPONSABILITÉ STRICTE OU D'UN DÉLIT (Y COMPRIS LA NÉGLIGENCE OU AUTRE) DÉCOULANT DE QUELQUE MANIÈRE QUE CE SOIT DE L'UTILISATION DE CE LOGICIEL, MÊME SI LA POSSIBILITÉ DE TELS DOMMAGES A ÉTÉ SIGNALÉE.
UTILISATION À VOS PROPRES RISQUES
Les améliorations et les rapports de bogues sont les bienvenus. Veuillez vous assurer que toute modification maintient l'objectif de test de sécurité du script et les directives d'utilisation éthique.