##
В 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
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
