[ English Version ]
Le PHP Group a pris connaissance d'un trou de sĂ©curitĂ© sĂ©rieux en PHP version 4.2.0 et 4.2.1. Un intrus pourrait exĂ©cuter un code arbitraire sur le serveur, avec les mĂȘmes privilĂšges que celui qui exĂ©cute le serveur web. Cette vulnĂ©rabilitĂ© peut ĂȘtre exploitĂ©e pour compromettre le serveur web, et dans certaines circonstances, obtenir des droits spĂ©ciaux.
PHP contient du code qui analyse finement les entĂȘtes des requĂȘtes HTTP POST. Le code est utilisĂ© pour diffĂ©rencier les variables des fichiers qui sont envoyĂ©s par le navigateur, avec l'encodage "multipart/form-data". Cet analyseur ne vĂ©rifie pas suffisamment les donnĂ©es d'entrĂ©e, ce qui conduit Ă une vulnĂ©rabilitĂ©.
La vulnĂ©rabilitĂ© est exploitable par quiconque peut envoyer des requĂȘtes HTTP POST Ă un serveur web utilisant PHP versions 4.2.0 et 4.2.1. Des utilisateurs, locaux ou distants, mĂȘme derriĂšre un pare-feu, pourraient obtenir des autorisations indues sur la machine.
Les utilisateurs, tant locaux que distants, peuvent exploiter cette vulnĂ©rabilitĂ© pour compromettre le serveur web, et, dans certaines circonstances, obtenir des autorisations indues. Jusqu'Ă prĂ©sent, seule la plate-forme IA32 a pu passer les tests de sĂ©curitĂ©. Cette vulnĂ©rabilitĂ© peut ĂȘtre utilisĂ©e sous IA32 pour crasher PHP et, dans la plupart des cas, le serveur web.
Le PHP Group a publié une nouvelle version PHP version, 4.2.2, qui inclus une correction pour cette vulnérabilité. Tous les utilisateurs des versions de PHP affectées sont encouragés à passer à cette nouvelle version. L'URL de téléchargement est : http://www.php.net/downloads.php sous forme de sources (tarballs), exécutable Windows et source patches pour les versions 4.2.0 et 4.2.1.
Si les applications PHP n'utilisent pas la mĂ©thode POST sur un serveur affectĂ©, il est possible de simplement interdire les requĂȘtes POST sur le serveur.
Sous Apache, par exemple, il est possible d'utiliser le code suivant dans le fichier de configuration principal, ou avec un fichier .htaccess placé suffisamment prÚs de la racine :
<Limit POST> Order deny,allow Deny from all </Limit>
Notez qu'une autre configuration ou/et un autre fichier .htaccess avec certains paramĂštres, peuvent annuler l'effet de l'exemple ci-dessus.
Le PHP Group remercie Stefan Esser de e-matters GmbH pour la découverte de cette vulnérabilité.