Vigil@ance : PHP, exécution de code via proc_open
décembre 2008 par Vigil@nce
SYNTHÈSE
Un attaquant local peut employer proc_open() pour exécuter une
commande avec les droits du serveur web.
Gravité : 1/4
Conséquences : accès/droits utilisateur
Provenance : compte utilisateur
Moyen d’attaque : 1 attaque
Compétence de l’attaquant : technicien (2/4)
Confiance : source unique (2/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 09/12/2008
PRODUITS CONCERNÉS
– PHP
DESCRIPTION
La fonction proc_open() de PHP exécute une commande shell. Lorsque
le Safe Mode est actif, proc_open() ne peut exécuter que les
commandes définies dans safe_mode_exec_dir.
Cependant, si l’attaquant peut déposer une bibliothèque partagée
sur le système, il peut employer la variable d’environnement
LD_PRELOAD afin de forcer proc_open() à charger cette
bibliothèque. Le code illicite contenu dans celle-ci est alors
exécuté avec les privilèges du serveur web.
Un attaquant local peut donc employer proc_open() pour exécuter
une commande avec les droits du serveur web.
CARACTÉRISTIQUES
Références : VIGILANCE-VUL-8301