Dans le paquet , fournissant des moyens pour gérer un serveur à distance, découvert (), détecté dans les versions officielles du projet, via Sourceforge et sur le site principal. Le backdoor était présent dans les versions allant de 1.882 à 1.921 incluses (le code avec le backdoor était absent dans le dépôt git) et permettait d'exécuter à distance des commandes shell arbitraires dans le système avec des droits root, sans passer par l'authentification.
Pour l'attaque, il suffit d'avoir un port réseau ouvert avec Webmin et que la fonction de changement de mot de passe obsolète soit active dans l'interface web (activée par défaut dans les versions 1.890, mais désactivée dans les autres versions). Le problème dans 1.930. Comme solution temporaire pour bloquer le backdoor, il suffit de supprimer le paramètre « passwd_mode= » du fichier de configuration /etc/webmin/miniserv.conf. Pour les tests, une préparation a été faite. .
Le problème a été dans le script password_change.cgi, où pour vérifier le mot de passe précédent saisi dans le formulaire web, la fonction unix_crypt reçoit le mot de passe fourni par l'utilisateur sans échapper les caractères spéciaux. Dans le dépôt git, cette fonction est une enveloppe autour du module Crypt::UnixCrypt et ne représente pas de danger, mais dans l'archive de code fournie sur Sourceforge, du code est appelé, qui accède directement à /etc/shadow, mais le fait via une construction shell. Pour l'attaque, il suffit de mettre le caractère « | » dans le champ du vieux mot de passe et le code qui suit sera exécuté avec les droits root sur le serveur.
Selon des développeurs de Webmin, le code malveillant a été inséré à la suite d'une compromission de l'infrastructure du projet. Les détails ne sont pas encore divulgués, donc il n'est pas clair si le piratage s'est limité à la prise de contrôle du compte Sourceforge ou si d'autres éléments de l'infrastructure de développement et de construction de Webmin ont également été touchés. Le code malveillant était présent dans les archives depuis mars 2018. Le problème a également affecté . Actuellement, tous les archives de démarrage ont été reconstruites à partir de Git.
Source : opennet.ru
