文档信息
文档名称 |
Nginx +PHP 远程代码执行漏洞预警 |
关键字 |
Nginx,PHP,远程代码执行漏洞,CVE-2019-11043 |
发布日期 |
2019年10月23日 |
分析团队 |
腾讯安全御见威胁情报中心 |
漏洞描述
Nginx 上fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空。而 php-fpm 在处理 PATH_INFO 为空的情况下,存在逻辑缺陷。攻击者通过精心的构造和利用,可以导致远程代码执行。
漏洞等级 高危,严重级
影响范围
Nginx + php-fpm 的服务器,在使用如下默认配置的情况下,都可能存在远程代码执行漏洞。
[^/]\.php(/|$) {fastcgi_split_path_info^(.+?\.php)(/.*)$;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_pass php:9000;...}}
修复建议
删除 Nginx 配置文件中的如下配置:
fastcgi_split_path_info ^(.+?\.php)(/.*)$;fastcgi_paramPATH_INFO $fastcgi_path_info;
参考资料
https://github.com/neex/phuip-fpizdam
时间线:
2019.9.26,PHP 官方发布漏洞通告
2019.10.22,漏洞 PoC 在 10 月 22 日公开
2019.10.23,腾讯安全御见威胁情报中心发布漏洞预警

