
Exploit de execução remota de código para CVE-2019-11043 visando Nginx com php-fpm. Inclui binários de exploit Go e pré-compilados para testar configurações vulneráveis.
Descrição da vulnerabilidade
No NgiNginx, ao processar requisições com %0a, o fastcgi_split_path_info encontra uma quebra de linha \n, fazendo com que PATH_INFO fique vazio. Enquanto isso, o php-fpm possui uma falha lógica ao processar PATH_INFO vazio. Através de construção e exploração cuidadosas, um atacante pode causar execução remota de código. nx, ao processar requisições com %0a, o fastcgi_split_path_info encontra uma quebra de linha \n, fazendo com que PATH_INFO fique vazio. Enquanto isso, o php-fpm possui uma falha lógica ao processar PATH_INFO vazio. Através de construção e exploração cuidadosas, um atacante pode causar execução remota de código.
Escopo de impacto
Servidores Nginx + php-fpm, quando usam a seguinte configuração, podem apresentar a vulnerabilidade de execução remota de código.
location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }
Solução
Sem afetar as operações normais, remova a seguinte configuração do arquivo de configuração do Nginx:
fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
Contém dois exploits: um em linguagem Go, e outro já compilado.
./phuip-fpizdam http://192.168.93.131:8080/index.php