Vigil@nce : Apache httpd, déni de service via scoreboard
janvier 2012 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant, qui exécute du code dans un processus Apache httpd
fils, peut modifier une valeur du scoreboard, afin de forcer le
processus père, qui s’exécute en tant que root, à libérer une zone
mémoire invalide lors de l’arrêt du service, ce qui pourrait
conduire à l’exécution de code avec les privilèges root.
– Gravité : 1/4
– Date création : 16/01/2012
PRODUITS CONCERNÉS
– Apache httpd
DESCRIPTION DE LA VULNÉRABILITÉ
Le service Apache httpd est composé :
– d’un processus père, qui s’exécute avec les droits root
– de processus fils, qui gèrent les requêtes HTTP, et qui s’exécutent avec les droits www-data par défaut
Le "scoreboard" est une zone d’information partagée entre les
processus. Le champ "sb_type" du scoreboard indique le mode
d’allocation (SB_NOT_SHARED via malloc et SB_SHARED via mmap) en
fonction du MPM (Multi-Processing Module).
Lorsque le processus père se stoppe (c’est-à-dire lors de
l’arrêt/redémarrage du service), il libère la zone mémoire
utilisée par le scoreboard, si la valeur sb_type n’est pas
SB_SHARED.
Un attaquant, qui exécute du code dans un processus Apache httpd
fils, peut donc modifier une valeur du scoreboard, afin de forcer
le processus père, qui s’exécute en tant que root, à libérer via
free() une zone mémoire allouée via mmap() lors de l’arrêt du
service, ce qui pourrait conduire à l’exécution de code avec les
privilèges root.
On peut noter que pour mettre en oeuvre cette vulnérabilité,
l’attaquant doit être capable d’exécuter du code dans un processus
fils, et il doit attendre que l’administrateur arrête ou redémarre
le service. De plus, la glibc standard détecte la corruption de
mémoire, et bloque l’attaque.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Apache-httpd-deni-de-service-via-scoreboard-11282