Vigil@nce - Noyau Linux : déni de service via ghash
octobre 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut employer une socket de type AF_ALG, afin
de déréférencer un pointeur NULL dans la fonction ghash_update(),
qui stoppe le noyau.
Gravité : 1/4
Date création : 26/10/2011
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
L’algorithme Galois/Counter Mode est un algorithme de chiffrement
à clé symétrique.
Le fichier crypto/ghash-generic.c implémente un algorithme de
hachage (digest) basé sur GCM.
Les fonctions ghash_update() et ghash_final() mettent à jour et
obtiennent le résultat du haché. Si la fonction ghash_setkey()
n’est pas appelée avant ghash_update() ou ghash_final(), ces
dernières déréférencent un pointeur NULL.
L’interface socket AF_ALG permet à un utilisateur local de
demander au noyau d’effectuer des opérations cryptographiques.
L’option de socket ALG_SET_KEY permet de définir la clé.
Cependant, si ALG_SET_KEY n’est pas employé sur une socket de type
AF_ALG ghash, la fonction ghash_setkey() n’est pas appelée.
L’écriture sur la socket appelle ghash_update(), qui déréférence
alors un pointeur NULL.
Un attaquant local peut donc employer une socket de type AF_ALG,
afin de déréférencer un pointeur NULL dans la fonction
ghash_update(), qui stoppe le noyau.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-deni-de-service-via-ghash-11099