Vigil@nce : FreeBSD, lecture mémoire via pipe
juin 2009 par Vigil@nce
Un attaquant local peut employer la fonction pipe() pour lire une
zone mémoire normalement inaccessible.
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 : 10/06/2009
PRODUITS CONCERNÉS
– FreeBSD
DESCRIPTION DE LA VULNÉRABILITÉ
L’appel système pipe() permet à deux processus d’échanger des
données.
Pour optimiser ses performances, le noyau FreeBSD copie
directement les données entre les deux processus, sans passer par
un buffer intermédiaire. Pour cela, les pages mémoires virtuelles
sont utilisées.
Cependant, le calcul du nombre de pages est arrondi, donc
l’utilisateur obtient des pages mémoire, auxquelles il ne devrait
normalement pas accéder.
Un attaquant local peut ainsi obtenir des informations sensibles
appartenant aux autres utilisateurs ou au système.
CARACTÉRISTIQUES
Références : BID-35279, FreeBSD-SA-09:09.pipe, VIGILANCE-VUL-8789
http://vigilance.fr/vulnerabilite/FreeBSD-lecture-memoire-via-pipe-8789