【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043) – 作者:青藤云安全

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.即时检测

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

具体产品的使用方法:登录青藤主机平台,选择漏洞检测功能进行检查。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

参考链接:

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

PHP Remote Code Execution 0-Day Discovered in Real World CTF Exercise

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

来源:freebuf.com 2019-10-25 18:46:18 by: 青藤云安全

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论