近日,國家信息安全漏洞庫(CNNVD)收到關(guān)于PHP-FPM遠程代碼執(zhí)行漏洞(CNNVD-201910-1456、CVE-2019-11043)情況的報送。成功利用漏洞的攻擊者,可遠程執(zhí)行代碼。當Nginx + php-fpm 的服務(wù)器在特定配置下,都會受該漏洞影響。目前,PHP官方已經(jīng)發(fā)布新版本修復(fù)了該漏洞,建議用戶及時確認是否受到漏洞影響,盡快采取修補措施。
一、漏洞介紹
PHP是PHP Group和開放源代碼社區(qū)共同維護的一種開源的通用計算機腳本語言。該語言主要用于Web開發(fā),支持多種數(shù)據(jù)庫及操作系統(tǒng)。PHP-FPM是PHP集成的一個組件,用于FastCGI進程管理,Nginx 是一個HTTP和反向代理web服務(wù)器。
該漏洞需要在PHP-FPM+Nginx組合,并采用一定配置的情況下才會被觸發(fā),但這個配置并非Nginx默認配置。當fastcgi_split_path_info字段被配置為 ^(.+?\.php)(/.*)$;時,攻擊者可以通過精心構(gòu)造的payload,觸發(fā)遠程代碼執(zhí)行漏洞,由于該配置已被廣泛使用,危害較大,請用戶及時采取修補措施。
二、危害影響
當PHP-FPM+Nginx的服務(wù)器有如下配置的時候,都會受漏洞影響,配置如下:
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
...
}
}
該漏洞PoC已在2019年10月22日公布,PHP與Nginx組合使用的情況較為廣泛,攻擊者可利用該漏洞遠程執(zhí)行任意代碼,所以危害較大。
三、修復(fù)建議
目前,PHP官方已經(jīng)發(fā)布新版本修復(fù)了該漏洞,建議用戶及時確認是否受到漏洞影響,盡快采取修補措施。更新如下:
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)結(jié)合業(yè)務(wù)需求,刪除如下配置
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
本通報由CNNVD技術(shù)支撐單位——北京天融信網(wǎng)絡(luò)安全技術(shù)有限公司、新華三技術(shù)有限公司、深信服科技股份有限公司、奇安信科技集團股份有限公司、知道創(chuàng)宇404實驗室提供支持。
CNNVD將繼續(xù)跟蹤上述漏洞的相關(guān)情況,及時發(fā)布相關(guān)信息。如有需要,可與CNNVD聯(lián)系。
聯(lián)系方式: cnnvd@itsec.gov.cn