Vigil@nce : Noyau Linux, lecture de 3 octets via tc_fill_tclass
septembre 2009 par Vigil@nce
Un attaquant local peut lire 3 octets provenant de la mémoire du
noyau.
– Gravité : 1/4
– Conséquences : lecture de données
– Provenance : shell utilisateur
– Moyen d’attaque : 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 : 03/09/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
La structure tcmsg est définie comme suit :
– 1 octet pour tcm_family
– 3 octets de padding (alignement)
– 4 octets pour tcm_handle
Cette structure est utilisée par les sockets de routage rtnetlink
(message RTM_GETQDISC, RTM_GETTCLASS, RTM_GETTFILTER, etc.).
La fonction tc_fill_tclass() du fichier net/sched/sch_api.c
n’initialise pas les 3 octets de bourrage dans la structure tcmsg.
Un attaquant local peut donc par exemple employer RTM_GETTCLASS
sur une socket PF_NETLINK/NETLINK_ROUTE, afin d’obtenir ces 3
octets, provenant de la mémoire du noyau.
CARACTÉRISTIQUES
– Références : VIGILANCE-VUL-8992
– Url : http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-de-3-octets-via-tc-fill-tclass-8992