Vigil@nce : Samba, corruption de mémoire via FD_SET
mars 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut ouvrir de nombreux fichiers sur un partage
Samba, afin de stopper le service, et éventuellement d’y exécuter
du code.
– Gravité : 2/4
– Date création : 28/02/2011
PRODUITS CONCERNÉS
– Debian Linux
– Mandriva Corporate
– Mandriva Enterprise Server
– Mandriva Linux
– Red Hat Enterprise Linux
– Samba
– Slackware Linux
DESCRIPTION DE LA VULNÉRABILITÉ
L’appel système select() surveille des évènements
(lecture/écriture) sur une liste de descripteurs de fichiers (un
"fd_set").
Un fd_set est un tableau qui contient FD_SETSIZE éléments. La
macro FD_SET(fd, &le_fd_set) indique que le descripteur de
fichiers "fd" doit être surveillé dans un fd_set. Pour cela, cette
macro positionne un drapeau à l’indice fd du tableau fd_set.
Une application qui emploie FD_SET() doit vérifier que le numéro
du descripteur de fichier soit positif et inférieur à FD_SETSIZE
(sinon FD_SET positionne le drapeau hors du tableau). Cependant,
plusieurs fonctions de Samba ne font pas cette vérification. Ce
cas d’erreur se produit lorsque de nombreux fichiers sont ouverts
(fd >= FD_SETSIZE) ou si une ouverture de fichier a échouée (fd ==
-1).
Un attaquant peut donc ouvrir de nombreux fichiers sur un partage
Samba, afin de stopper le service, et éventuellement d’y exécuter
du code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Samba-corruption-de-memoire-via-FD-SET-10405