2024 年日本 PHP 研討會

PHP 安全性公告:PHP 4.2.0 和 4.2.1 版中的漏洞

[ 法文版 ]

發佈日期
2002 年 7 月 22 日
軟體
PHP 4.2.0 和 4.2.1 版
平台
所有

PHP 團隊已發現 PHP 4.2.0 和 4.2.1 版中存在一個嚴重安全性漏洞。入侵者可能能夠以網路伺服器的權限執行任意程式碼。此漏洞可能被利用來入侵網路伺服器,並且在某些情況下,可能取得特權存取權。

說明

PHP 包含用於智慧型解析 HTTP POST 請求標頭的程式碼。此程式碼用於區分使用者代理在「multipart/form-data」請求中傳送的變數和檔案。這個解析器的輸入檢查不足,導致了此漏洞。

任何可以向受影響的網路伺服器傳送 HTTP POST 請求的人都可以利用此漏洞。本地和遠端使用者,即使在防火牆後方,也可能能夠取得特權存取權。

影響

本地和遠端使用者都可能利用此漏洞來入侵網路伺服器,並且在某些情況下,可能取得特權存取權。到目前為止,只有 IA32 平台已被證實可以免於任意程式碼的執行。此漏洞仍然可以用於在 IA32 上使 PHP 崩潰,並且在大多數情況下,也會使網路伺服器崩潰。

解決方案

PHP 團隊已釋出新的 PHP 版本 4.2.2,其中包含針對此漏洞的修復程式。建議所有使用受影響 PHP 版本的用戶升級到此最新版本。下載頁面提供了新的 4.2.2 原始碼壓縮檔、Windows 二進制檔以及從 4.2.0 和 4.2.1 版的原始碼修補程式,可供下載。

解決方法

如果受影響網路伺服器上的 PHP 應用程式不依賴來自使用者代理程式的 HTTP POST 輸入,通常可以拒絕網路伺服器上的 POST 請求。

例如,在 Apache 網路伺服器中,可以透過在主要設定檔或頂層 .htaccess 檔案中包含以下程式碼來實現:

<Limit POST>
   Order deny,allow
   Deny from all
</Limit>

請注意,現有的設定檔和/或 .htaccess 檔案可能包含與上述範例衝突的參數。

致謝

PHP 團隊感謝 e-matters GmbH 的 Stefan Esser 發現此漏洞。e-matters GmbH 也發布了一份獨立的公告,更詳細地描述了此漏洞。

To Top