Vigil@nce : Noyau Linux, lecture de 4 octets via getsockopt
février 2009 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut employer getsockopt() afin d’obtenir 4
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 : 18/02/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
La fonction getsockopt() obtient les options liées à une socket.
Cette fonction est implémentée par la fonction sock_getsockopt()
du fichier net/core/sock.c.
Le type de socket SO_BSDCOMPAT utilisait une interface compatible
BSD, mais est obsolète. Lorsque getsockopt() utilise SO_BSDCOMPAT,
le noyau affiche un message d’erreur et quitte la fonction.
Cependant, dans ce cas, un entier n’est pas initialisé, mais est
copié dans le buffer utilisateur (en fait, seuls les 4 premiers
octets d’une union contenant cet entier sont copiés).
Un attaquant local peut donc employer getsockopt() afin d’obtenir
4 octets provenant de la mémoire du noyau.
CARACTÉRISTIQUES
Références : VIGILANCE-VUL-8478
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-de-4-octets-via-getsockopt-8478