Vigil@nce : Noyau Linux, élévation de privilèges via syscall sur x86_64
septembre 2010 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Sur une architecture x86_64, un attaquant local peut utiliser,
entre autres, getsockopt() dans un processus 32 bit afin d’élever
ses privilèges.
– Gravité : 2/4
– Date création : 16/09/2010
DESCRIPTION DE LA VULNÉRABILITÉ
Le noyau Linux permet d’exécuter des programmes 32 bits sur la
plateforme x86_64.
La fonction getsockopt() permet d’obtenir des informations sur une
socket. Elle effectue un appel système pour réaliser sa tâche.
Lorsqu’une application 32 bit effectue appel système, une zone de
mémoire utilisateur est allouée via la fonction
compat_alloc_user_space() du fichier kernel/compat.c. Cependant,
compat_alloc_user_space() vérifie incorrectement la taille de la
zone. Une partie de celle-ci peut alors être située en espace
noyau.
Un attaquant local peut donc utiliser getsockopt() dans un
processus 32 bit afin d’élever ses privilèges.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-elevation-de-privileges-via-syscall-sur-x86-64-9947