Alertes: Multiples vulnérabilitées dans PHP
Impact(s) : Manipulation de données / Contournement de règles de sécurité
Solution : Patch du fournisseur
Exploit : Non disponible

ZATAZ ID : ASZ-2004-79
Localisation(s) : Distante
Date de découverte : 16.12.2004
Date de modification : 11.01.2005
Des utilisateurs distants ou locaux peuvent exécuter du code arbitraire par le biais de script PHP présent sur le serveur.
De multiples vulnérabilitées ont été découvertes dans les versions égales ou inférieures à PHP 4.3.9 et PHP 5.0.2 par Stefan Esser, membre de Hardened-PHP Project.
- La validation insuffisante des paramètres envoyés à la fonction pack() peut permettre l'exécution de code arbitraire. Un internaute malveillant pourrait contourner les restrictions safe_mode et exécuter du code arbitraire avec les privilèges de l'utilisateur du serveur web. Due a la nature de cette fonction, il apparaît peu probable qu'un script utilisant cette fonction soit accessible à un internaute malveillant.
- La validation insuffisante des paramètres envoyés à la fonction unpack() peut être utilisée pour retrouver des informations sensibles des processus du serveur web apache.
- Lorsque le safe_mode est activé, il n'autorise que l'exécution de commandes qui sont configurer dans la directive safe_mode_exec_dir. Cette fonctionnalitée peut être contournée lorsque le serveur web tourne avec des threads (comme apache2 par exemple). Un utilisateur local pourrait contourner le safe_mode_exec_dir et injecter des commandes shell.
- Il est possible due à une vulnérabilitée dans la fonction realpath(), malgré que le safe_mode soit activé, de forger des chemins d'accès et d'accéder à des fichiers qui ne devraient normallement pas être accessible.
- La fonction realpath() est utilisée à plusieurs endroits pour avoir le véritable chemin d'accès du fichier. Malheureusement certaines implémentations de realpath() tronque les fichiers avec des noms long (OpenBSD, et anciens NetBSD/FreeBSD). Cette vulnérabilité pourrait permettre l'inclusion de fichiers arbitraires.
- La variable "unserializer" peut être trompée avec des références négatives afin d'ajouter de fausse vauleur "zvalues" dans la table de haschage. Lorsque cette table de haschage est détruite cela peut libérer des adresses de mémoire arbitraire qui peuvent résulter en exécution de commandes arbitraires.
Il est fortement conseillé de mettre à jour vos versions de PHP. The PHP Group a fournis de nouvelle version disponible sur son site.
Lien(s) Associé(s) :
Auteur(s) Associé(s) : Stefan Esser ( 4 )
CVE Associé(s) : CAN-2004-1018 / CAN-2004-1019 / CAN-2004-1063 / CAN-2004-1064
Veuillez noter que les informations diffusées par ZATAZ.net dans le cadre de sa rubrique Alertes ont comme
provenance des parties tierces.
ZATAZ.net collecte, valide et vérifie les vulnérabilités diffusées par les fournisseurs, groupes de recherches
spécialisés dans la sécurité informatique, etc.
Si vous désirez nous envoyer des alertes de sécurité que vous avez découvertes, contactez-nous sur alertes@zataz.net