Deux vulnérabilités sont décelées dans PHP

Près de 70% des sites et portails francophones sont développés avec cette technologie. Une vulnérabilité jugée critique touchant deux fonctions de PHP a été découverte

Le problème de sécurité a été découvert dans les fonctions escapeshellarg() et escapeshellcmd() de PHP. Comble de l’ironie, ces deux fonctions ont pour rôle de filtrer et sécuriser les appels à exécution de commande par PHP avec les fonctions exec() et system() .

Cette faille pourrait permettre de contourner les restrictions imposées par escapeshellarg() et escapeshellcmd() et ainsi exécuter une commande arbitraire sur le serveur distant avec les droit associés au daemon Apache ou Php lorsqu’il est utilisé avec SuExec. Bien évidement, cette faille n’affecte que les scripts qui utilisent ces deux fonctions. Généralement, ce sont les scripts PHP qui font appel à des commandes externes comme Whois, Nslookup, Ping, etc. La solution est de mettre à jour votre version de PHP avec la version 4.3.7 PHP est un langage non compilé qui permet de développer des applications et sites internet dynamiques. Prés de 70% des sites et portails francophones sont développés avec cette technologie. Aurélien Cabezon

Deux fonctions PHP déterminantes

escapeshellcmd() échappe tous les caractères de la chaîne ‘command‘ qui pourraient avoir une signification spéciale dans une commande ‘shell‘. Cette fonction permet de s’assurer que la commande sera correctement passée à l’exécuteur de commande shell escapeshellarg() ajoute des guillemets simples autour des chaînes de caractères, et ajoute des guillemets puis échappe les guillemets simples de la chaîne. Cela permet de faire passer directement une chaîne comme argument ‘shell‘, tout en assurant un maximum de sécurité. escapeshellarg() doit être utilisée pour traiter individuellement chacun des arguments à passer au shell.