【漏洞预警】CNNVD 关于PHP-FPM远程代码执行漏洞的通报

发布时间:2019-10-25   

       近日,国家信息安全漏洞库(CNNVD)收到关于PHP-FPM远程代码执行漏洞(CNNVD-201910-1456、CVE-2019-11043)情况的报送。成功利用漏洞的攻击者,可远程执行代码。当Nginx + php-fpm 的服务器在特定配置下,都会受该漏洞影响。目前,PHP官方已经发布新版本修复了该漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。

一、漏洞介绍

       PHP是PHP Group和开放源代码社区共同维护的一种开源的通用计算机脚本语言。该语言主要用于Web开发,支持多种数据库及操作系统。PHP-FPM是PHP集成的一个组件,用于FastCGI进程管理,Nginx 是一个HTTP和反向代理web服务器。

       该漏洞需要在PHP-FPM+Nginx组合,并采用一定配置的情况下才会被触发,但这个配置并非Nginx默认配置。当fastcgi_split_path_info字段被配置为 ^(.+?\.php)(/.*)$;时,攻击者可以通过精心构造的payload,触发远程代码执行漏洞,由于该配置已被广泛使用,危害较大,请用户及时采取修补措施。

二、危害影响

       当PHP-FPM+Nginx的服务器有如下配置的时候,都会受漏洞影响,配置如下:

          location ~ [^/]\.php(/|$) {

               fastcgi_split_path_info ^(.+?\.php)(/.*)$;

               fastcgi_param PATH_INFO       $fastcgi_path_info;

               fastcgi_pass   php:9000;

               ...

         }

       }

       该漏洞PoC已在2019年10月22日公布,PHP与Nginx组合使用的情况较为广泛,攻击者可利用该漏洞远程执行任意代码,所以危害较大。

三、修复建议

       目前,PHP官方已经发布新版本修复了该漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。更新如下:      

       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

       修改配置解决措施如下:

       (1)在nginx 配置文件中加入try_files $uri=404

       (2)结合业务需求,删除如下配置

       fastcgi_split_path_info ^(.+?\.php)(/.*)$;

       fastcgi_param PATH_INFO       $fastcgi_path_info;

       本通报由CNNVD技术支撑单位——北京天融信网络安全技术有限公司、新华三技术有限公司、深信服科技股份有限公司、奇安信科技集团股份有限公司、知道创宇404实验室提供支持。

       CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。

       联系方式: cnnvd@itsec.gov.cn



漏洞预警快速查询

热点漏洞

更多