內容
資安業者戴夫寇爾研究團隊發現PHP存在引數注入(Argument Injection)漏洞(CVE-2024-4577),可在遠端伺服器上執行任意程式碼並通報給 PHP 官方。 PHP 在網站開發中應用廣泛,官方已於 2024年6月6日在網站上發佈修補版本,建議使用者儘速更新。
此漏洞源於 PHP 設計未注意到 Windows 作業系統字元編碼轉換的Best-Fit 特性,使得未經身分鑑別之遠端攻擊者可透過特定字元序列繞過CVE-2012-1823之保護,並透過引數注入(Argument Injection)等攻擊,於遠端PHP伺服器上執行任意程式碼。
此漏洞影響所有安裝在 Windows 作業系統上的 PHP 版本,包括:
PHP 8.3 版本低於 8.3.8
PHP 8.2 版本低於 8.2.20
PHP 8.1 版本低於 8.1.29
另因PHP 8.0 分支、PHP 7 以及 PHP 5 官方已不再維護,建議使用這些版本的網站管理員更換成PHP官方仍有維護之版本,或採取相應的緩解措施。
若需確認網站是否受影響,管理員可以檢查 Apache HTTP Server 的設定,當網站設定在CGI 模式下執行PHP或將 PHP 執行檔暴露在外時,該伺服器將容易成為攻擊的目標。需特別注意的是,若使用 XAMPP for Windows 預設安裝配置,也會受此漏洞影響。
研究團隊指出,當 Windows 作業系統設置為繁體中文、簡體中文或日文語系時,未經授權的攻擊者可以直接在遠端伺服器上執行任意程式碼。雖然其他語系的 Windows 系統也可能存在風險,但具體影響範圍仍需使用者自行檢查並盡早更新 PHP 版本。
PHP 官方目前已發布最新版本(8.3.8、8.2.20 和 8.1.29)來修復此漏洞,強烈建議所有使用者立即升級至最新版本,以確保系統安全。對於無法升級的系統,管理員可以考慮其他暫時緩解措施,如修改Rewrite 規則以阻擋攻擊或取消 PHP CGI的功能。
此外,PHP CGI 已被認為是一種過時且易受攻擊的架構,建議使用者評估並遷移至更為安全的 Mod-PHP、FastCGI 或 PHP-FPM 等架構。