
Эксплойт удаленного выполнения кода для CVE-2019-11043, нацеленный на Nginx с php-fpm. Включает Go и предварительно скомпилированные бинарные файлы эксплойта для тестирования уязвимых конфигураций.
Описание уязвимости
В Nginx при обработке запросов с %0a в fastcgi_split_path_info, из-за символа новой строки \n PATH_INFO становится пустым. В PHP-FPM при пустом PATH_INFO существует логический дефект. Злоумышленник может путем тщательной конструирования и эксплуатации вызвать удаленное выполнение кода. В Nginx при обработке запросов с %0a в fastcgi_split_path_info, из-за символа новой строки \n PATH_INFO становится пустым. В PHP-FPM при пустом PATH_INFO существует логический дефект. Злоумышленник может путем тщательной конструирования и эксплуатации вызвать удаленное выполнение кода.
Затронутые версии
Серверы Nginx + php-fpm, использующие следующую конфигурацию, могут быть уязвимы для удаленного выполнения кода.
location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }
Решение
Без ущерба для нормальной работы удалите следующие строки из конфигурации Nginx:
fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
Содержит два эксплойта: один на Go, другой — скомпилированный.
./phuip-fpizdam http://192.168.93.131:8080/index.php