
CVE-2026-24061-PoC
telnetd de GNU InetUtilsUne vulnérabilité d'injection d'arguments affecte le démon Telnet de GNU InetUtils (telnetd). Une désinfection insuffisante des variables d'environnement fournies par le client lors de la négociation NEW_ENVIRON permet à un attaquant d'injecter des drapeaux de ligne de commande dans le processus de connexion local, ce qui peut entraîner un contournement de l'authentification.
telnetd → /usr/bin/loginGNU InetUtils telnetd (non corrigé).
Lors de la négociation de session, telnetd honore l'option Telnet NEW_ENVIRON, qui permet à un client de passer des variables d'environnement telles que USER au serveur. Le démon interpole ensuite cette valeur directement dans la liste d'arguments utilisée pour invoquer /usr/bin/login.
Étant donné que la valeur n'est pas validée pour ne contenir que des caractères de nom d'utilisateur légaux, un client peut fournir une chaîne commençant par un trait d'union (-). Au lieu d'être traitée comme un nom d'utilisateur, celle-ci est interprétée par login comme un drapeau de ligne de commande. Selon l'implémentation de login, cela peut activer des comportements tels que le saut de l'authentification par mot de passe (par exemple via un drapeau -f "déjà authentifié"), conduisant à un accès non autorisé.
Définissez la variable d'environnement USER à une valeur contenant un drapeau d'option avant de vous connecter :
USER="-f root" telnet -a <target_ip>
Si la cible est vulnérable, login interprète -f root comme une instruction pour s'authentifier en tant que root sans mot de passe, plutôt que de traiter -f root comme un nom d'utilisateur littéral.
Vérifiez la version du paquet installé :
Debian / Ubuntu :
dpkg -l | grep inetutils-telnetd
RHEL / CentOS :
rpm -qa | grep inetutils
telnetd rejette ou supprime toute valeur USER commençant par - avant de la transmettre à login.