Vigil@nce : Noyau Linux, lecture mémoire via sys_move_pages
février 2010 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut employer l’appel système move_pages(),
afin de lire des pages de la mémoire du noyau.
Gravité : 1/4
Conséquences : lecture de données
Provenance : shell utilisateur
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 08/02/2010
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
L’architecture NUMA (Non-Uniform Memory Access) est utilisée sur
les systèmes multiprocesseurs, où chaque noeud possède sa propre
zone de mémoire.
L’appel système move_pages() permet de déplacer des pages vers un
autre noeud :
move_pages(pid, nr_pages, address, nodes, ...) ;
Cependant, la valeur des noeuds ("nodes") n’est pas vérifiée. Un
attaquant peut donc employer une grande valeur ou une valeur
négative, afin de forcer le noyau à déplacer les pages vers une
zone lisible.
Un attaquant local peut ainsi employer l’appel système
move_pages(), afin de lire des pages de la mémoire du noyau.
CARACTÉRISTIQUES
Références : BID-38144, CVE-2010-0415, VIGILANCE-VUL-9417
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-memoire-via-sys-move-pages-9417