Vigil@nce : FreeBSD, déni de service via kenv
mars 2009 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut employer kenv() afin de stopper le système.
Gravité : 1/4
Conséquences : déni de service de la machine
Provenance : shell utilisateur
Moyen d’attaque : 1 démonstrateur et 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 : 23/03/2009
PRODUITS CONCERNÉS
– FreeBSD
DESCRIPTION DE LA VULNÉRABILITÉ
L’appel système kenv() permet de manipuler les variables
d’environnement noyau :
kenv(action, name, value, len) ;
Les actions peuvent être :
– KENV_GET : stocke la valeur de "name" dans le tableau "value" de
taille "len"
– KENV_DUMP : dumpe toutes les variables dans "value" de taille
"len"
– etc.
Lors de l’utilisation de KENV_DUMP, le noyau alloue une zone
mémoire de taille "len" pour y stoker les variables concaténées.
Cependant, il ne vérifie pas si "len" est très grand. Dans ce cas,
le noyau cherche à allouer une grande zone mémoire, ce qui le
stoppe.
Un attaquant local peut donc employer kenv() afin de stopper le
système.
CARACTÉRISTIQUES
Références : FreeBSD-EN-09:01.kenv, VIGILANCE-VUL-8551
http://vigilance.fr/vulnerabilite/FreeBSD-deni-de-service-via-kenv-8551