Webmin souffre d'un problème de sécurité concernant la création temporaire de fichier qui peut être utilisée pour compromettre le compte root.
En effet, Webmin crée des fichier temporaires dans /tmp qui ont les permissions : -rwxrwxrwx (777) et qui appartiennent à l'utilisateur root (ex : commandes personnalisées). N'importe qui peut modifier le fichier créé pendant l'exécution de la commande par le système. Il suffit donc pour l'attaquant de rajouter une commande dans le fichier, qui sera exécutée par le root. L'attaquant pourra donc à loisir, lancer des commandes, créer/effacer/modifier des fichiers/répertoires, etc...
Exemple:
Il suffit de rajouter la commande suivante à la fin du fichier temporaire crée par webmin pendant son exécution pour gagner les privilèges de root:
cp /bin/sh /tmp/.backdoor vous donnera un shell root dans /tmp
Le problème est situé dans le script run.cgi qui crée le fichier temporaire en lui donnant de mauvaises permissions.
$temp = &tempname();
open(TEMP,">$temp");
...blablabla...
chmod(0777, $temp);
Pour fixer le problème il suffit de hanger la ligne chmod(0777, $temp); par chmod(0700, $temp);
Note du modérateur : Il ne semble pas y avoir de confirmation sur le site de Webmin. En outre, webmin 0.89 devrait sortir sous peu.
Aller plus loin
- Digital Network (8 clics)
- Isecurelabs (5 clics)
- webmin (6 clics)
# Faille de sécurité dans webmin
Posté par Anonyme . Évalué à 0.
"Commands with the Use user's environment? option set allow a local user to execute commands as root if the right file is modified when the command is executed."
amicalement,
Christophe Casalegno
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.