Vigil@nce : Noyau Linux, corruption de mémoire via Bluetooth
mars 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 créer de nombreuses sockets Bluetooth,
afin de mener un déni de service, ou éventuellement de faire
exécuter du code.
– Gravité : 2/4
– Date création : 23/03/2010
DESCRIPTION DE LA VULNÉRABILITÉ
Le noyau Linux implémente différents protocoles utilisés par
Bluetooth :
– L2CAP (Logical Link Control and Adaptation Protocol) :
adaptation des données applicatives (segmentation)
– RFCOMM : port série compatible RS-232
– SCO (Synchronous Connection Oriented) : voix
Les informations sur les sockets en cours sont accessibles via
sysfs (/sys), grâce aux fonctions :
– l2cap_sysfs_show()
– rfcomm_dlc_sysfs_show()
– rfcomm_sock_sysfs_show()
– sco_sysfs_show()
Ces fonctions écrivent les informations dans une page mémoire de
taille PAGE_SIZE. Chaque socket nécessite quelques octets de
mémoire. Cependant, ces fonctions ne vérifient pas si la taille
maximale a été atteinte (cette situation se produit lorsqu’il y a
trop de sockets ouvertes). Le noyau écrit alors après la fin de la
page.
Un attaquant local peut donc créer de nombreuses sockets
Bluetooth, afin de mener un déni de service, ou éventuellement de
faire exécuter du code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-corruption-de-memoire-via-Bluetooth-9529