Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

De la Théorie à la pratique











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Vigil@nce : Noyau Linux, déni de service via NFSv4 Set ACL

mars 2011 par Vigil@nce

Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/

SYNTHÈSE DE LA VULNÉRABILITÉ

Un attaquant local peut employer une opération NFSv4 Set ACL contenant plus d’une page mémoire de données, afin de stopper le système.

- Gravité : 1/4
- Date création : 07/03/2011

PRODUITS CONCERNÉS

- Linux noyau

DESCRIPTION DE LA VULNÉRABILITÉ

Le noyau Linux utilise différentes fonctions/macros de gestion de la mémoire :
- alloc_page(), put_page() : allocation d’une page mémoire
- vmalloc(), vfree() : allocation d’une zone de mémoire virtuelle (la mémoire physique n’est pas forcément contigüe, et la taille peut dépasser 128ko)
- kmem_cache_alloc(), kmem_cache_free() : utilisation du slab (cache d’objets de taille identique de 32octets à 128ko)
- kmalloc(), kfree() : allocation d’une zone physiquement contigüe de mémoire (la taille est limitée à maximum 128ko, car le slab est employé)

La fonction __nfs4_proc_set_acl() du fichier fs/nfs/nfs4proc.c définit des ACL pour NFS. Les données des ACL sont stockées dans une zone allouée avec alloc_page(). Cependant, lorsque la taille des données de l’ACL dépasse la taille d’une page, ces données sont copiées dans une zone allouée avec kmalloc(). Lorsque les données ne sont plus nécessaires, la fonction put_page() tente alors de libérer une zone allouée de manière incompatible par kmalloc().

Un attaquant local peut donc employer une opération NFSv4 Set ACL contenant plus d’une page mémoire de données, afin de stopper le système.

ACCÈS AU BULLETIN VIGIL@NCE COMPLET

http://vigilance.fr/vulnerabilite/N...




Voir les articles précédents

    

Voir les articles suivants