Vigil@nce : LibGd, PHP, corruption de mémoire via gdGetColors
octobre 2009 par Vigil@nce
Un attaquant peut employer une application liée à la bibliothèque
GD, afin de corrompre la mémoire, ce qui provoque un déni de
service, et éventuellement l’exécution de code.
– Gravité : 2/4
– Conséquences : accès/droits privilégié, déni de service du service
– Provenance : compte utilisateur
– Moyen d’attaque : aucun démonstrateur, aucune attaque
– Compétence de l’attaquant : expert (4/4)
– Confiance : confirmé par l’éditeur (5/5)
– Diffusion de la configuration vulnérable : élevée (3/3)
– Date création : 15/10/2009
PRODUITS CONCERNÉS
– Mandriva Corporate
– Mandriva Enterprise Server
– Mandriva Linux
– Mandriva Multi Network Firewall
– PHP
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
La bibliothèque GD permet de manipuler des images. Elle est
comprise dans PHP.
La fonction gdGetColors() de LibGD manipule les couleurs d’une
image. Cependant, cette fonction ne vérifie pas correctement le
nombre maximal de couleurs, ce qui provoque un débordement.
Un attaquant peut donc employer une application liée à la
bibliothèque GD, afin de corrompre la mémoire, ce qui provoque un
déni de service, et éventuellement l’exécution de code.
Pour exploiter cette vulnérabilité dans PHP, l’attaquant doit
appeler la fonction PHP imagecreatefromgd(), puis la fonction PHP
imagecolorallocate().
CARACTÉRISTIQUES
– Références : BID-36712, CVE-2009-3546, MDVSA-2009:284,
MDVSA-2009:285, VIGILANCE-VUL-9098
– Url : http://vigilance.fr/vulnerabilite/LibGd-PHP-corruption-de-memoire-via-gdGetColors-9098