Vulnérabilité dans telnetd permettant de se connecter avec des droits root sans authentification

Une vulnérabilité a été identifiée dans le serveur telnetd de la collection GNU InetUtils, permettant de se connecter en tant qu'utilisateur quelconque, y compris l'utilisateur root, sans vérification de mot de passe. Aucun identifiant CVE n'a encore été attribué. La vulnérabilité apparaît à partir de la version InetUtils 1.9.3 (2015) et demeure non corrigée dans la version actuelle 2.7.0. Un correctif est disponible sous forme de patchs (1, 2).

Le problème est causé par le fait que pour vérifier le mot de passe, le processus telnetd appelle l'outil «/usr/bin/login», en passant le nom d'utilisateur spécifié par le client lors de la connexion à serveur. L'outil «login» prend en charge l'option «-f», permettant de se connecter sans effectuer d'authentification (cela implique que cette option est utilisée lorsque l'utilisateur a déjà été authentifié). Par conséquent, si l'on parvient à remplacer l'option «-f» par le nom d'utilisateur, il est possible de se connecter sans vérification de mot de passe.

Lors d'une connexion normale, il n'est pas possible d'utiliser un nom d'utilisateur de type «-f root», mais telnet dispose d'un mode de connexion automatique activé par l'option «-a». Dans ce mode, le nom d'utilisateur n'est pas pris à partir de la ligne de commande, mais est transmis via la variable d'environnement USER. Lors de l'appel de l'outil login, la valeur de cette variable d'environnement était remplacée sans vérification supplémentaire et sans échappement des caractères spéciaux. Ainsi, pour se connecter en tant qu'utilisateur root, il suffit de définir la variable d'environnement USER à «-f root» et de se connecter au serveur telnet en spécifiant l'option «-a»: $ USER='-f root' telnet -a nom_du_serveur

Le changement ayant conduit à la vulnérabilité a été ajouté au code de telnetd en mars 2015 et était lié à la solution d'un problème empêchant de déterminer le nom d'utilisateur en mode autologin sans authentification dans Kerberos. Pour résoudre cela, la prise en charge du passage du nom d'utilisateur pour le mode autologin a été ajoutée via une variable d'environnement, mais la vérification de la validité du nom d'utilisateur à partir de la variable d'environnement a été oubliée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster