Vigil@nce : PHP, contournement de safe_mode
juin 2008 par Vigil@nce
SYNTHÈSE
Un attaquant peut employer un nom de fichier commençant par
"http://" afin de contourner les restrictions de safe_mode.
Gravité : 1/4
Conséquences : lecture de données, création/modification de données
Provenance : compte utilisateur
Moyen d’attaque : 2 démonstrateurs
Compétence de l’attaquant : spécialiste (3/4)
Confiance : source unique (2/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 19/06/2008
Référence : VIGILANCE-VUL-7904
PRODUITS CONCERNÉS
– PHP [versions confidentielles]
DESCRIPTION
La directive de configuration safe_mode de PHP active certaines
restrictions, notamment sur les droits d’accès aux fichiers.
Cependant, cette directive peut être contournée.
La fonction posix_access() indique si l’utilisateur peut accéder à
un fichier. Si le chemin d’accès au fichier commence par
"http://../", la vérification est effectuée sur une uri, et
retourne donc toujours Vrai. De plus, expand_filepath() convertit
l’uri en fichier ("http://../nom" devient "../nom"), qui devient
valide et accessible. [grav:1/4 ; BID-29797, CVE-2008-2665]
La fonction chdir() change le répertoire courant. Si le chemin
d’accès au répertoire commence par "http://../", la vérification
est effectuée sur une uri, et retourne donc toujours Vrai. De
plus, l’uri est convertie en fichier ("http://../nom" devient
"../nom"), qui devient valide et accessible. [grav:1/4 ; BID-29796,
CVE-2008-2666]
CARACTÉRISTIQUES
Références : BID-29796, BID-29797, CVE-2008-2665, CVE-2008-2666, VIGILANCE-VUL-7904