Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Vigil@nce : PHP, exécution de code via mb_ereg_replace

mai 2009 par LA REDACTION DE GS MAG

SYNTHÈSE DE LA VULNÉRABILITÉ

Lorsque la fonction mb_ereg_replace() est utilisée sur des données
non filtrées, un attaquant peut exécuter du code PHP.

Gravité : 2/4

Conséquences : accès/droits utilisateur

Provenance : client internet

Moyen d’attaque : 1 démonstrateur

Compétence de l’attaquant : spécialiste (3/4)

Confiance : source unique (2/5)

Diffusion de la configuration vulnérable : élevée (3/3)

Date création : 13/05/2009

PRODUITS CONCERNÉS

 PHP

DESCRIPTION DE LA VULNÉRABILITÉ

La fonction mb_ereg_replace() utilise une expression régulière
pour définir un motif à remplacer dans une chaîne Unicode. La
fonction mb_eregi_replace() ignore la casse.

L’option ’e’ indique d’exécuter le motif à remplacer au lieu de le
considérer comme une chaîne texte. Par exemple :
$chaine = ’A-b-C’ ;
mb_ereg_replace(’^A-(.*)-C$’, "strtoupper(’\1’)", $chaine, ’e’) ;
retourne "A-B-C" (’b’ est mis en majuscules).

Cependant, les fonctions mb_ereg_replace() et mb_eregi_replace()
ne filtrent pas les caractères ’\’ dans le motif de remplacement.
Un attaquant peut par exemple employer :
$chaine = ’\’), phpinfo(), strtoupper(\’’ ;
pour faire exécuter :
strtoupper(’’), phpinfo(), strtoupper(’’)
c’est-à-dire injecter l’appel à la fonction phpinfo().

Lorsque la fonction mb_ereg_replace() est utilisée sur des données
non filtrées, un attaquant peut donc exécuter du code PHP.

CARACTÉRISTIQUES

Références : 48180, BID-34873, VIGILANCE-VUL-8711
http://vigilance.fr/vulnerabilite/PHP-execution-de-code-via-mb-ereg-replace-8711


Voir les articles précédents

    

Voir les articles suivants