Vigil@nce - D-Bus : déni de service via endianness
juin 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 envoyer un message D-Bus avec un
endianness invalide, afin de stopper le service.
Gravité : 1/4
Date création : 13/06/2011
PRODUITS CONCERNÉS
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Le service D-Bus permet aux applications de communiquer à l’aide
de messages envoyés sur un bus.
Le format des messages dépend de l’endianness (big endian ou
little endian) du processeur. Le premier octet du message D-Bus
indique son endianness.
Lorsque la bibliothèque libdbus traite un message avec un
endianness différent, la fonction _dbus_header_byteswap() du
fichier dbus/dbus-marshal-header.c inverse l’endianness d’un
message. Pour cela, elle modifie les données, cependant elle
oublie de modifier le premier octet du message. Comme ce premier
octet indique toujours un endianness incorrect, les applications
décodent des champs invalides, ce qui les stoppe.
Un attaquant local peut donc envoyer un message D-Bus avec un
endianness invalide, afin de stopper le service.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/D-Bus-deni-de-service-via-endianness-10725