【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043)
2019-10-28 14:34:54 Author: www.secpulse.com(查看原文) 阅读量:220 收藏

1.综述

2019年9月14日至18举办的 Real World CTF中,国外安全研究员 Andrew Danau 在解决一道CTF题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常,疑似存在漏洞。

2019年9月26日,PHP官方发布漏洞通告,其中指出:使用 Nginx + php-fpm的服务器,在部分配置下,存在远程代码执行漏洞.且该配置已被广泛使用,危害较大,影响较为广泛。

2019年10月22日,该PHP远程代码执行的漏洞利用POC被公开在github上。

Nginx与 php-fpm 服务器上存在远程代码执行漏洞,由于Nginx的fastcgi_split_path_info模块在处理带%0a的请求时,对换行符 \n 处置不当使得将 PATH_INFO 值置为空,从而导致 php-fpm 在处理 PATH_INFO 时存在漏洞,攻击者通过精心的构造和利用,可以导致远程代码执行。

该漏洞存在于php上。Nginx在0.7.31之后版本才存在fastcgi_split_path_info这个指令。另外经过poc验证,php5.4版本未受影响,php5.6以上版本会造成服务崩溃,php7.0以上版本可以执行远程命令执行。

2.漏洞概述

漏洞类型:远程代码执行漏洞

危险等级:高危

利用条件:nginx配置了fastcgi_split_path_info

受影响系统:PHP 5.6-7.x,Nginx>=0.7.31

3.漏洞编号

CVE-2019-11043 PHP远程代码执行漏洞

4.漏洞描述

Nginx 与 php-fpm 服务器上存在远程代码执行漏洞,由于Nginx的fastcgi_split_path_info模块在处理带 %0a 的请求时,对换行符 \n 处置不当使得将 PATH_INFO 值置为空,从而导致 php-fpm 组件在处理 PATH_INFO 时存在漏洞,攻击者通过精心的构造和利用,可以导致远程代码执行。

5.修复建议

1).补丁包修复方案:

目前官方尚未发布修复漏洞的补丁包,将于当地时间24日进行发布,请随时关注并进行升级。

2).源码修复方案:

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

3).临时修复方案:

Nginx 配置文件中location添加如下配置:

try_files $uri =404

6.即时检测

青藤云安全在漏洞爆出的第一时间,已经及时分析响应并支持该漏洞的检测。

参考链接:

https://bugs.php.net/bug.php?id=78599 

https://lab.wallarm.com/php-remote-code-execution-0-day-discovered-in-real-world-ctf-exercise/

https://github.com/neex/phuip-fpizdam


文章来源: https://www.secpulse.com/archives/116482.html
如有侵权请联系:admin#unsafe.sh