Vigil@nce - ISC DHCP : dénis de service
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 peut envoyer deux paquets illicites vers un serveur
ISC DHCP, afin de le stopper.
Gravité : 2/4
Date création : 11/08/2011
PRODUITS CONCERNÉS
– Debian Linux
– Mandriva Corporate
– Mandriva Enterprise Server
– Mandriva Linux
– Red Hat Enterprise Linux
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Les protocoles BOOTP et DHCP utilisent des formats de paquets
compatibles :
– 40 octets : entêtes communs
– sname (64 octets) : nom du serveur
– file (128 octets) : nom du fichier de boot
– options (taille variable) : options facultatives (nommées
"vendor-specific area" dans la RFC 951 de BOOTP, et limitées à
64 octets pour BOOTP)
Cependant, le serveur ISC DHCP ne gère pas correctement les
tailles de ces champs.
Lorsqu’un paquet DHCP/BOOTP contient pas les champs sname/file, la
fonction got_one() du fichier common/discover.c cherche tout de
même à y accéder, ce qui provoque une erreur de lecture mémoire.
[grav:2/4]
La fonction cons_options() du fichier common/options.c ne calcule
pas correctement la taille du champ "vendor-specific area" de
BOOTP lorsqu’il faut le tronquer à 64 octets. La fonction
ack_lease() du fichier server/dhcp.c ne vérifie pas si le pointeur
sur les options est NULL, avant de le déréférencer. [grav:2/4]
Un attaquant peut donc envoyer deux paquets illicites vers un
serveur ISC DHCP, afin de le stopper.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/ISC-DHCP-denis-de-service-10915