【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043)

2019-10-28 9,730


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

Tags:
评论  (0)
快来写下你的想法吧!

云深互联

文章数:5 积分: 88

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号