Vigil@nce - Debian : exécution de code via bzexe
décembre 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Lorsque la victime exécute un programme compressé avec bzexe, un
attaquant local peut créer un répertoire afin de faire exécuter du
code avec les privilèges de la victime.
Gravité : 2/4
Date création : 15/12/2011
PRODUITS CONCERNÉS
– Debian Linux
DESCRIPTION DE LA VULNÉRABILITÉ
Le script /bin/bzexe permet de diminuer la taille d’un programme,
en le remplaçant par un script shell appelant bunzip2 pour
décompresser le programme d’origine. Le script bzexe est
spécifique à Debian.
Par exemple "bzexe /bin/ls" créé un script "/bin/ls" qui contient
le binaire /bin/ls d’origine compressé. Lorsqu’un utilisateur
exécute le script /bin/ls, le binaire est placé dans un fichier
temporaire, puis un lien hard est fait vers /tmp/ls, puis /tmp/ls
est exécuté. Le lien hard permet de s’assurer que le nom du
programme (argv[0]) soit toujours "ls".
Si un attaquant local a précédemment créé un lien symbolique (ou
un fichier) nommé /tmp/ls, alors le script /bin/ls le détecte (car
le "ln" qui crée le lien hard échoue) et exécute directement le
fichier temporaire. Cependant, si l’attaquant a créé un répertoire
nommé /tmp/ls, le script continue, ce qui permet à un attaquant
remplacer /tmp/ls par un programme illicite, qui est ensuite
exécuté par le script.
Lorsque la victime exécute un programme compressé avec bzexe, un
attaquant local peut donc créer un répertoire afin de faire
exécuter du code avec les privilèges de la victime.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Debian-execution-de-code-via-bzexe-11231