Vigil@nce : Python, lecture de code source via CGIHTTPServer
mai 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut envoyer une requête spéciale vers Python
CGIHTTPServer afin de lire le code source des scripts cgi.
– Gravité : 2/4
– Date création : 06/05/2011
PRODUITS CONCERNÉS
– Microsoft Windows - plateforme
– Red Hat Enterprise Linux
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Le module CGIHTTPServer de Python permet de générer des pages web
via des scripts cgi.
La fonction is_cgi() du fichier Lib/CGIHTTPServer.py détecte si le
chemin passé en argument est un script cgi, afin de déterminer si
le fichier doit être interprété comme un script, ou simplement
retourné à l’utilisateur. Pour cela cette fonction regarde si le
début du chemin correspond à l’un des répertoires contenant les
scripts cgi (self.cgi_directories). Par exemple,
"/cgi-bin/monscript" commence par "/cgi-bin" et est donc reconnu
comme un script cgi.
Cependant si l’attaquant emploie "cgi-bin/monscript" la fonction
is_cgi() indique qu’il ne s’agit pas d’un script. Le module
retourne alors directement le contenu du fichier "monscript" à
l’utilisateur.
Un attaquant peut donc envoyer une requête spéciale vers Python
CGIHTTPServer afin de lire le code source des scripts cgi.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Python-lecture-de-code-source-via-CGIHTTPServer-10621