Vigil@nce : Noyau Linux, buffer overflow des ACLs NFSv4
septembre 2008 par Vigil@nce
SYNTHÈSE
Un attaquant local peut provoquer un débordement dans le service
nfsd afin d’élever ses privilèges.
Gravité : 2/4
Conséquences : accès/droits administrateur
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 : 05/09/2008
Référence : VIGILANCE-VUL-8093
PRODUITS CONCERNÉS
– Linux noyau [versions confidentielles]
DESCRIPTION
Le noyau Linux implémente un service NFS.
Les ACLs POSIX des fichiers partagés sont converties en ACLs NFS,
représentées sous la forme d’ACEs (Access Control Entries). La
fonction init_state() de fs/nfsd/nfs4acl.c alloue les zones
mémoires qui contiendront les ACEs des utilisateurs et des
groupes. Cependant, la taille allouée est trop courte de 4*nbacl
octets (différence de taille entre les structures
posix_user_ace_state et posix_ace_state).
Un attaquant local, autorisé à modifier les ACLs POSIX de fichiers
partagés par NFS, peut donc définir de nombreuses ACLs afin de
provoquer un débordement. Ce débordement conduit à l’exécution de
code dans le noyau.
CARACTÉRISTIQUES
Références : CVE-2008-3915, VIGILANCE-VUL-8093