Vigil@nce - Noyau Linux : lecture mémoire via AF_PACKET
août 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 AF_PACKET, afin de
lire deux octets provenant de la mémoire du noyau.
Gravité : 1/4
Date création : 03/08/2011
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Un entête VLAN 802.1Q est composé de 4 octets :
– 2 octets : TPID (Tag Protocol Identifier) : EtherType 0x8100
– 2 octets : TCI (Tag Control Information) : Priority Code Point,
Canonical Format Indicator et VLAN Identifier
Lorsqu’un paquet provient d’un VLAN, la fonction packet_recvmsg()
du fichier net/packet/af_packet.c stocke le TCI dans le champ
tp_vlan_tci de la structure tpacket_auxdata. L’utilisateur peut
ensuite obtenir le contenu de cette structure avec la requête
PACKET_AUXDATA de getsockopt().
Cependant, lorsque le champ tp_vlan_tci (16 bits) a été ajouté
dans la structure dans le noyau Linux 2.6.27, les 16 bits de
padding situés après n’ont pas été initialisés par la fonction
packet_recvmsg().
Un attaquant local peut donc employer une socket AF_PACKET, afin
de lire deux octets provenant de la mémoire du noyau.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-memoire-via-AF-PACKET-10888