漏洞综述
安全公告
在9 月 14 日至 18 举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF 题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常,疑似存在漏洞。
2019年9 月 26 日,PHP官方发布了漏洞通告:使用 Nginx + php-fpm 的服务器,在部分配置不当的情况下,存在远程代码执行漏洞,对应CVE编号:CVE-2019-11043。该配置使用较为广泛使用,同时漏洞 PoC已经公开,危害性较大。
漏洞描
Nginx 中 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n (%0a)将变量 PATH_INFO设置为空,而 php-fpm在处理 PATH_INFO 为空的情况下,存在逻辑缺陷。
攻击者可以通过在URL参数中设置FastCGI变量,例如PHP_VALUE,通过和 FCGI_PUTENV相结合,修改当前的php-fpm进程中的php配置。在特殊构造的配置生效的情况下可以触发任意代码执行。
漏洞复现
使用公开的payload进行复现:
影响范围
Ngix+PHP-FPM的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞:
处置方法
修复建议
(1)官方补丁
PHP已于10月12号发布该漏洞补丁,请参考以下链接安装补丁:
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
(2)在Nginx配置文件中添加如下:
(3)请结合实际业务场景,在不影响正常业务的情况下,在 Nginx 的配置文件中删除如下配置:
H3C解决方案
新华三IPS规则库将在1.0.81版本支持对该漏洞的拦截,建议关注新华三官网及时升级版本并使能相关规则。
声明
本安全公告仅用来描述可能存在的安全问题,未经新华三大安全允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,新华三大安全以及安全公告作者不为此承担任何责任。新华三大安全拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。
关于新华三大安全
新华三集团在安全领域拥有十余年的经验积累,拥有1000多项信息安全领域专利技术,具备业界最全面的安全交付能力,可提供近300款产品和专业的安全咨询评估服务团队,并且具备以客户为导向的需求快速响应能力,从底层信息安全基础设施到顶层设计为国家和企业提供安全可信的防护。