新的PHP高危漏洞可导致黑客执行远程代码攻击

发布者:Editor
发布于:2019-10-28 17:51



PHP是构建网络最常见的编程语言。


PHP 7作为其全新的分支以打破一切、性能翻倍吸引众多用户。


然而其近期被曝存在安全漏洞,可导致服务器被接管。



漏洞介绍



近日,PHP官方公布了一个高危漏洞,一旦被黑客利用,服务器就会被黑客控制。


该漏洞名称是CVE-2019-11043,类型是RCE(远程代码执行),严重级别是高危。


PHP官方指出使用NGINX搭载PHP FPM的组合时,在部分配置下,存在漏洞被利用的风险,并且目前该配置使用广泛,因此该漏洞影响范围很大。


PHP-FPM是另一种PHP FastCGI实现,可为用PHP编程语言编写的脚本提供高级且高效的处理。


漏洞主要存在于PHP-FPM中的“ env_path_info”内存损坏问题,使攻击者能够在易受攻击的Web服务器上远程执行任意代码。


幸运的是,并非所有支持PHP的服务器都受到影响,仅启用了PHP-FPM的 NGINX服务器容易受到攻击。



攻击详情



Nginx上fastcgi_split_path_info在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致PATH_INFO为空。而php-fpm在处理PATH_INFO为空的情况下,存在逻辑缺陷。


攻击者通过精心的构造和利用,可以进行远程代码执行攻击。写入一个Webshell到网站目录下,从而开启后门创建。

简单地说,如果存在如下情况,则容易受到攻击:

  • NGINX配置为将PHP页面请求转发到PHP-FPM处理器
  • fastcgi_split_path_info指令存在于配置中,并且包含以'^'符号开头和以'$'符号结尾的正则表达式
  • PATH_INFO变量是使用fastcgi_param指令定义的
  • 没有诸如try_files $ uri = 404或if(-f $ uri)之类的检查来确定文件是否存在。


PHP官方公告:
https://bugs.php.net/bug.php?id=78599

漏洞复现:
https://github.com/vulhub/vulhub/blob/master/php/CVE-2019-11043/README.md

漏洞exp:
https://github.com/neex/phuip-fpizdam

PHP官方发布最新版本7.3.11和7.2.24,其中包含针对CVE-2019-11043的修复程序。

受此事影响,许多其他虚拟主机提供商也被怀疑正在运行易受攻击的Nginx + PHP-FPM组合。

由于公共PoC代码存在,利用此漏洞将十分容易,因此建议网站所有者在运行时检查服务器配置并尽快更新PHP。



* 本文由看雪编辑 LYA 编译自 The Hacker News,转载请注明来源及作者。


声明:该文观点仅代表作者本人,转载请注明来自看雪