PHP远程代码执行漏洞预警

PHP远程代码执行漏洞预警

漏洞等级  High

CVE编号  CVE-2019-11043

漏洞详情

PHP 官方发布漏洞通告,其中指出:使用 Nginx + php-fpm 的服务器,在部分配置下,由于不正确的Nginx+php-fpm配置导致服务端存在在处理%0a时存在不正确解析方式,在特殊构造的配置生效的情况下可以触发任意代码执行,造成远程代码执行漏洞。漏洞 PoC 已经公开,危害严重。

影响范围

Nginx + php-fpm 的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞。

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

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

fastcgi_param PATH_INFO       $fastcgi_path_info;

fastcgi_pass   php:9000;

}

}

修复方案

注意:安装升级前,请做好数据备份、快照和测试工作,防止发生意外

1.官方发布修复版本后,升级到修复版本:

PHP 7.3.11

PHP 7.2.24

PHP 7.1.33

2. 使用rewrite url功能屏蔽非法请求进行防御(请做好对业务的误伤结果测试)

3.在不影响正常业务的情况下,删除如下配置

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

fastcgi_param PATH_INFO       $fastcgi_path_info;

参考链接

https://github.com/php/php-src/releases/

https://www.linuxcompatible.org/news/story/php_7_3_117_2_24and_7_1_33_released.html

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