Vigil@nce : D-Bus, déni de service via récursion
décembre 2010 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 envoyer un message D-Bus contenant de
nombreux "variant" imbriqués, afin de stopper le service.
– Gravité : 1/4
– Date création : 16/12/2010
DESCRIPTION DE LA VULNÉRABILITÉ
Le service D-Bus permet aux applications de communiquer à l’aide
de messages envoyés sur un bus. Les données des messages D-Bus
sont stockées dans quatre types de conteneurs :
– array : tableau
– structure : structure avec champs prédéfinis
– dictionary : tableau associatif
– variant : type dynamique
La spécification D-Bus limite à 32 le nombre d’imbrications pour
"array", "structure" et "dictionary". Cependant, le type "variant"
n’est pas limité.
L’implémentation de D-Bus dans la suite FreeDesktop Dbus ne limite
pas non plus le nombre d’imbrications pour le type "variant".
Lorsqu’un message est reçu, il est vérifié. Chaque niveau
d’imbrication appelle une fonction de vérification, qui consomme
une partie de la pile d’exécution. Lorsque le nombre
d’imbrications est trop élevé, la pile se remplit, et une erreur
de segmentation se produit.
Un attaquant local peut donc envoyer un message D-Bus contenant de
nombreux "variant" imbriqués, afin de stopper le service.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/D-Bus-deni-de-service-via-recursion-10226