Vigil@nce - PHP : buffer overflow via precision
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 créer un script PHP modifiant la précision de
l’affichage des nombres réels, afin de provoquer un débordement,
conduisant à un déni de service et potentiellement à l’exécution
de code.
Gravité : 2/4
Date création : 18/03/2011
PRODUITS CONCERNÉS
– Mandriva Corporate
– Mandriva Enterprise Server
– Mandriva Linux
– PHP
DESCRIPTION DE LA VULNÉRABILITÉ
La directive "precision" indique le nombre de chiffres à afficher
après la virgule pour un nombre réel. Par exemple :
– si precision vaut 5, la valeur 1/3 est affichée en "0.33333"
– si precision vaut 25, la valeur 1/3 est affichée en
"0.3333333333333333148296162"
Un programme PHP peut modifier cette directive via la fonction
ini_set(). Cependant, si "precision" est supérieur à MAX_BUF_SIZE
(512), un buffer overflow se produit lors de la génération de la
chaîne "0.3333333333333333148296162...".
Un attaquant peut donc créer un script PHP modifiant la précision
de l’affichage des nombres réels, afin de provoquer un
débordement, conduisant à un déni de service et potentiellement à
l’exécution de code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/PHP-buffer-overflow-via-precision-10462