Une vulnérabilité PHP-CGI met en danger des milliers de sites Web

2
116

Une importante vulnérabilité non patchée et exploitable à distance permettant l’exécution de code a été divulguée pour PHP-CGI. La faille apparaît lors de l’analyse des paramètres de requête à partir de fichiers PHP.

Les développeurs étaient occupés par le développement du patch visant à corriger cette faille lorsqu’elle a été révélée publiquement mercredi, mais la vulnérabilité peut être exploitée que si le serveur HTTP utilise une fonctionnalité bien précise de la spécification CGI.

Selon le CVE-2012-1823, les installations PHP-CGI sont vulnérables à l’exécution de code à distance. Et plus particulièrement, en passant l’argument de ligne de commande « -s » via une chaîne de requête PHP. Par exemple, on pouvait voir la source par l’intermédiaire de la requête « http://localhost/test.php?-s ». Un attaquant distant non authentifié pourrait obtenir des informations sensibles, causer un déni de service ou pourrait être en mesure d’exécuter du code arbitraire avec les privilèges du serveur web.

L’équipe qui a trouvé le bug, est connue sous le nom de Eindbazen. Ils ont expliqué qu’il avait attendu pendant plusieurs mois que le groupe PHP officiel publie un correctif pour la vulnérabilité en vue de publier des informations sur le bogue.

Qu’est-ce cette vulnérabilité peut faire exactement ? Elle peut aider un attaquant de trouver des mots de passe de base de données, les emplacements de fichiers sensibles et exécuter n’importe quel script sur le disque local du serveur. Et le plus important, si la possibilité de télécharger un fichier sur le serveur est présente, exécuter n’importe quel code.

Ainsi, lorsque PHP est utilisé dans une configuration basée sur CGI, le PHP-CGI reçoit un paramètre de requête transformé en chaîne comme un argument de ligne de commande, tels que -s, -d ou -c pour être ensuite transmis à PHP-CGI. Cela peut être exploité afin de divulguer le code source et d’obtenir l’exécution de code arbitraire.

Les commentaires sont fermés.