Vigil@nce : Noyau Linux, lecture mémoire via AF_LLC
août 2009 par Vigil@nce
Un attaquant local peut créer une socket AF_LLC et employer
getsockname(), pour obtenir 5 octets provenant de la mémoire du
noyau.
Gravité : 1/4
Conséquences : lecture de données
Provenance : shell utilisateur
Moyen d’attaque : 1 attaque
Compétence de l’attaquant : technicien (2/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 26/08/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Le noyau supporte les sockets de type AF_LLC (IEEE 802.2 Logical
Link Control).
La fonction getsockname() renvoie le nom d’une socket, et utilise
llc_ui_getname() lorsque la socket est de type AF_LLC.
Cependant, llc_ui_getname() n’initialise pas la structure sllc
avant d’y copier des données, et de les retourner à l’utilisateur.
L’utilisateur obtient donc 5 octets provenant de la mémoire du
noyau.
Un attaquant local peut donc créer une socket AF_LLC et employer
getsockname(), pour obtenir 5 octets provenant de la mémoire du
noyau.
On peut noter que depuis la version 2.6.25, le processus de
l’attaquant doit posséder la capacité CAP_NET_RAW pour créer ce
type de socket.
CARACTÉRISTIQUES
Références : BID-36126, VIGILANCE-VUL-8975
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-memoire-via-AF-LLC-8975