Vigil@nce - Noyau Linux : lecture mémoire via Xtensa
juillet 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Sur un processeur Xtensa, un attaquant peut employer ptrace(),
afin de lire la mémoire du noyau.
Gravité : 1/4
Date création : 20/07/2011
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Les processeurs Tensilica Xtensa sont principalement utilisés dans
des systèmes embarqués.
L’appel système ptrace() permet de lire et modifier les
informations d’un processus. La requête PTRACE_SETXTREGS modifie
les registres d’un processus en cours d’exécution.
La fonction ptrace_setxregs() du fichier arch/xtensa/kernel/ptrace.c
implémente PTRACE_SETXTREGS pour les processeurs Xtensa.
Cependant, cette fonction ne vérifie pas si l’adresse de la
structure contenant les valeurs des registres est en espace
mémoire utilisateur. Un attaquant peut donc employer une adresse
mémoire noyau, puis affecter les registres avec SETXTREGS, puis
relire les valeurs des registres avec GETXTREGS, afin d’obtenir un
fragment de la mémoire du noyau.
Sur un processeur Xtensa, un attaquant peut donc employer
ptrace(), afin de lire la mémoire du noyau.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-memoire-via-Xtensa-10862