Nginx+PHP-FPM遠程命令執行_CVE-2019-11043


漏洞描述

此次漏洞主要由於 PHP-FPM 中 sapi/ fpm/ fpm/ fpm_main.c 文件內的 env_path_info 下溢導致,攻擊者可以使用換行符 %0a 破壞 Nginx 中 fastcgi_split_path_info 對應的正則表達式,導致傳遞給 PHP-FPM 的 PATH_INFO 值為空,從而觸發該漏洞,通過發送特制的URL請求,在一些特殊的配置情況下會導致任意代碼執行。

影響范圍

使用 Nginx + PHP-FPM 的服務器,且在 nginx 下進行了如下配置,都可能存在遠程代碼執行漏洞。

location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info^(.+?\.php)(/.*)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass php:9000;
        ...
    }

漏洞復現

1.正常訪問靶機環境

2.執行exp后訪問

漏洞修復

1.更新官網補丁:https://bugs.php.net/patch-display.php?bug_id=78599&patch=0001-Fix-bug-78599-env_path_info-underflow-can-lead-to-RC.patch&revision=latest
2.檢查nginx上文的配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM