
Exploit d'exécution de code à distance pour CVE-2019-11043 ciblant Nginx avec php-fpm. Inclut des binaires d'exploit en Go et pré-compilés pour tester les configurations vulnérables.
Description de la vulnérabilité
Lorsque fastcgi_split_path_info sur NgiNginx traite une requête contenant %0a, la présence du caractère de saut de ligne \n entraîne une valeur vide pour PATH_INFO. De plus, php-fpm présente un défaut logique lorsque PATH_INFO est vide. Un attaquant peut, par une construction minutieuse et une exploitation, conduire à une exécution de code à distance. Lorsque fastcgi_split_path_info sur nx traite une requête contenant %0a, la présence du caractère de saut de ligne \n entraîne une valeur vide pour PATH_INFO. De plus, php-fpm présente un défaut logique lorsque PATH_INFO est vide. Un attaquant peut, par une construction minutieuse et une exploitation, conduire à une exécution de code à distance.
Portée affectée
Les serveurs utilisant Nginx + php-fpm, avec la configuration suivante, peuvent tous présenter une vulnérabilité d'exécution de code à distance.
location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }
Solution
Sans affecter les opérations normales, supprimez la configuration suivante du fichier de configuration Nginx :
fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
Contient deux exploits : l'un en langage Go, l'autre est un exploit précompilé.
./phuip-fpizdam http://192.168.93.131:8080/index.php