Vigil@nce : Noyau Linux, corruption mémoire via HFS
décembre 2009 par Vigil@nce
Un attaquant peut créer un système de fichier HFS spécialement
conçu afin de corrompre la mémoire et éventuellement exécuter du
code.
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 : 09/12/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Les fonctions hfs_cat_move(), hfs_readdir() et hfs_fill_super()
des fichiers fs/hfs/catalog.c, fs/hfs/dir.c et fs/hfs/super.c
s’occupent respectivement de renommer un fichier HFS, lire le
contenu d’un répertoire HFS et monter un système de fichier HFS.
La fonction hfs_bnode_read() du fichier fs/hfs/bnode.c permet de
copier un noeud HFS dans un tampon. Les fonctions hfs_cat_move(),
hfs_readdir() et hfs_fill_super() alloue sur la pile un tampon de
taille fixe et utilisent hfs_bnode_read() pour copier un noeud HFS
lue depuis la partition dans ce tampon. Cependant, la taille des
données à copier n’est pas vérifiée.
Un attaquant local peut alors créer un système de fichier HFS
spécialement conçu afin de corrompre la mémoire et éventuellement
exécuter du code.
CARACTÉRISTIQUES
Références : 540736, CVE-2009-4020, VIGILANCE-VUL-9266
http://vigilance.fr/vulnerabilite/Noyau-Linux-corruption-memoire-via-HFS-9266