Risques
- Contournement de la politique de sécurité
- Exécution de code arbitraire à distance
Systèmes affectés
- les versions PHP 4.x, antérieures à 4.3.0 ;
- les versions PHP 5.x, antérieures ou égales à la 5.1.6.
Résumé
Une vulnérabilité a été identifiée dans PHP. Celle-ci permettrait à une personne malveillante distante d'exécuter des commandes arbitraires sur le serveur Web vulnérable.
Description
PHP (venant de l'acronyme récursif PHP: Hypertext Preprocessor) est un langage généralement interprété par un serveur Web, afin de générer des documents comme des pages HTML.
Une vulnérabilité a été identifiée dans celui-ci. Elle concerne la fonction unserialize() se trouvant dans le fichier zend_alloc.c. Cette fonction fait appel à une autre fonction, nommée ecalloc(), qui ne vérifierait pas correctement certaines données avant d'allouer la mémoire. Une personne malveillante pourrait injecter des données afin de provoquer un débordement de cette mémoire et parvenir à exécuter des commandes arbitraires sur le serveur Web vulnérable. Cela est notamment rendu possible par les valeurs de variables Cookie envoyées au serveur.
Tout code PHP faisant appel à la fonction unserialize() serait vulnérable. Cela inclut en particulier plusieurs applications Web, dont phpBB, Invision Board, vBulletin, Serendpity, dotclear, etc.
Solution
Se référer aux mises à jour des éditeurs pour l'obtention des correctifs (cf. section Documentation). Une mise à jour provisoire est disponible sur le serveur CVS de PHP, ainsi que sur le site Hardened-PHP.
Documentation
- Ajout dans la base CVS du site PHP.net d'une mise à jour provisoire : http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.c?r1=1.161&r2=1.162
- Bulletin de sécurité Mandriva MDKSA-2006:180 du 05 octobre 2006 : http://www.mandriva.com/security/advisories?name=MDKSA-2006:180
- Bulletin de sécurité Mandriva MDKSA-2006:180 du 05 octobre 2006 : http://archives.mandrivalinux.com/security-announce/2006-10/msg00004.php
- Bulletin de sécurité RedHat RHSA-2006:0708 du 05 octobre 2006 : http://rhn.redhat.com/errata/RHSA-2006-0708.html
- Bulletin de sécurité publié par le site Hardened-PHP du 09 octobre 2006 : http://www.hardened-php.net/advisory_092006.133.html
- Mise à jour provisoire fournie par le site Hardened-PHP : http://www.hardened-php.net/files/CVE-2006-4812.patch
- Référence CVE CVE-2006-4812 https://www.cve.org/CVERecord?id=CVE-2006-4812