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" 編碼方式傳送的變數和檔案。這個解析器對輸入資料的檢查不夠嚴謹,導致了這個漏洞。

任何可以向使用 PHP 4.2.0 和 4.2.1 版的網頁伺服器傳送 HTTP POST 請求的人都可以利用此漏洞。本地或遠端使用者,即使在防火牆後面,也可能在機器上獲得未經授權的權限。

影響

本地和遠端使用者皆可能利用此漏洞入侵網頁伺服器,並在某些情況下取得非授權的權限。目前僅 IA32 平台通過安全測試。此漏洞在 IA32 平台上可能導致 PHP 程式當機,大多數情況下也會造成網頁伺服器當機。

解決方案

PHP Group 已釋出新的 PHP 版本 4.2.2,其中包含針對此漏洞的修復程式。強烈建議所有受影響 PHP 版本的使用者升級到此新版本。下載網址為:https://php.net.tw/downloads.php,提供原始碼 (tarballs)、Windows 可執行檔,以及 4.2.0 和 4.2.1 版本的原始碼更新檔。

其他解決方案

如果在受影響的伺服器上,PHP 應用程式未使用 POST 方法,則可以簡單地禁止伺服器上的 POST 請求。

例如,在 Apache 中,可以在主設定檔或放置在根目錄附近的 .htaccess 檔案中使用以下程式碼:

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

請注意,其他設定或/及帶有某些參數的 .htaccess 檔案可能會抵消上述範例的效果。

致謝

PHP Group 感謝 e-matters GmbH 的 Stefan Esser 發現此漏洞。

To Top