Vigil@nce : Apache APR-util, déni de service via apr_strmatch
juin 2009 par Vigil@nce
Un attaquant peut mener un déni de service dans les applications
utilisant apr_strmatch de APR-util.
– Gravité : 2/4
– Conséquences : déni de service du service
– Provenance : client internet
– Moyen d’attaque : 1 attaque
– Compétence de l’attaquant : technicien (2/4)
– Confiance : confirmé par l’éditeur (5/5)
– Diffusion de la configuration vulnérable : élevée (3/3)
– Date création : 05/06/2009
PRODUITS CONCERNÉS
– Apache httpd
– Debian Linux
– Mandriva Corporate
– Mandriva Linux
– Mandriva Multi Network Firewall
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
La bibliothèque Apache APR-util propose le module strmatch qui
cherche un motif dans une chaîne, en utilisant l’algorithme de
Boyer-Moore-Horspool.
Cet algorithme utilise une décalage lié à l’offset d’un caractère
en partant de la fin du motif. Par exemple, si le motif est
"cherche" :
– le décalage de ’e’ est 4 (chErche, le dernier ’e’ est ignoré)
– le décalage de ’h’ est 1 (chercHe)
– le décalage de ’c’ est 2 (cherChe)
– le décalage de ’r’ est 3 (cheRche)
Le module strmatch emploie une table de 256 caractères indiquant
le décalage de chaque caractère (shift[’e’]=4, etc.). Cependant,
le caractère est stocké dans un "char" signé. Lorsque le caractère
est supérieur à 127, l’indice la table de décalage est négatif, ce
qui provoque une lecture à une adresse invalide.
Un attaquant peut donc employer un motif contenant des caractères
supérieurs à 127 afin de stopper les applications liées à Apache
APR-util.
Par exemple, les applications suivantes sont vulnérables :
– Apache httpd via un fichier .htaccess
– mod_dav_svn si la directive "SVNMasterURI" est employée
– mod_apreq2
CARACTÉRISTIQUES
– Références : BID-35221, CVE-2009-0023, DSA 1812-1, MDVSA-2009:131,
MDVSA-2009:131-1, VIGILANCE-VUL-8766
– Url : http://vigilance.fr/vulnerabilite/Apache-APR-util-deni-de-service-via-apr-strmatch-8766