新的PHP高危漏洞可導致黑客執行遠端程式碼攻擊

Editor發表於2019-10-28
新的PHP高危漏洞可導致黑客執行遠端程式碼攻擊



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為空的情況下,存在邏輯缺陷。

新的PHP高危漏洞可導致黑客執行遠端程式碼攻擊

攻擊者通過精心的構造和利用,可以進行遠端程式碼執行攻擊。寫入一個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,轉載請註明來源及作者。

相關文章