Vigil@nce - Noyau Linux : contournement d’ASLR via sa_restorer
mars 2013 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Une commande lancée par un exec() peut obtenir la structure mémoire de son processus père, pour contourner ASLR, afin de faciliter le développement d’un outil d’attaque.
Produits concernés : Linux
Gravité : 1/4
Date création : 12/03/2013
DESCRIPTION DE LA VULNÉRABILITÉ
La fonctionnalité ASLR (Address Space Layout Randomization) charge les programmes à des adresses mémoire aléatoires, afin de rendre plus difficile l’exploitation de corruptions de mémoire.
La structure sigaction est utilisée par la fonction sigaction(), qui définit les actions associées à un signal Unix. Le champ sa_restorer de cette structure contient l’adresse d’une fonction (il est considéré comme obsolète).
La fonction flush_signal_handlers() du fichier kernel/signal.c met à zéro les informations sur les gestionnaires de signaux, afin que le processus créé par une fonction de la famille exec() démarre normalement. Cependant, cette fonction ne réinitialise pas le pointeur sa_restorer.
Une commande lancée par un exec() peut donc obtenir la structure mémoire de son processus père, pour contourner ASLR, afin de faciliter le développement d’un outil d’attaque.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET





Actu




