Vigil@nce - Noyau Linux : lecture mémoire via RDS recv
août 2012 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 les fonctions recvfrom() et
recvmsg() sur une socket RDS, afin d’obtenir fragment de la
mémoire du noyau.
Gravité : 1/4
Date création : 27/07/2012
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Le protocole RDS (Reliable Datagram Sockets) permet de transmettre
des données en mode non connecté. Il est supporté par le noyau
depuis la version 2.6.30.
Les appels système recvfrom() et recvmsg() sont utilisés pour lire
les données d’une socket.
La fonction rds_recvmsg() du fichier net/rds/recv.c implémente
recvfrom() et recvmsg() pour les sockets RDS. Cependant, lorsque
la taille des adresses est supérieure à la taille de la structure
sockaddr_in, cette fonction copie trop de données (jusqu’à 128
octets) dans la structure de l’utilisateur.
Un attaquant local peut donc employer les fonctions recvfrom() et
recvmsg() sur une socket RDS, afin d’obtenir fragment de la
mémoire du noyau.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-lecture-memoire-via-RDS-recv-11801