Vigil@nce : libxml2, corruption mémoire via XPath
juin 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 employer le langage XPath pour corrompre la
mémoire de libxml2, afin de mener un déni de service ou de faire
exécuter du code.
– Gravité : 2/4
– Date création : 31/05/2011
PRODUITS CONCERNÉS
– Debian Linux
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Le langage XPath permet de désigner des noeuds XML.
La bibliothèque libxml2 permet de créer des documents XML et de
gérer les attributs dans des structures de données.
La fonction xmlXPathNodeSetAddNs() permet d’ajouter des noeuds à
la structure courante analysée. Cependant ; si l’expression xpath
est du type : "//@*/preceding::node()/ancestor::node()/ancestor::foo[’foo’]",
la fonction xmlXPathNodeSetAddNs() double alors la valeur
cur->nodeMax sans qu’une ré-allocation mémoire soit effectuée, ce
qui provoque corruption de la mémoire.
Un attaquant peut donc employer le langage XPath pour corrompre la
mémoire de libxml2, afin de mener un déni de service ou de faire
exécuter du code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/libxml2-corruption-memoire-via-XPath-10696