觀點 · 資訊分享
WordPress 7.1.2 緊急更新:免登入就能讀進任意 PHP 檔,特定主題加 Docker 預設設定可遠端執行程式
WordPress 在 7.1.1 之後五天又推出 7.1.2,修補一個重大漏洞 CVE-2026-87902:未登入的攻擊者可以讓網站載入主題目錄外的 PHP 檔。若主題與伺服器條件剛好符合,就能遠端執行程式,官方 Docker php 映像檔也在受影響名單。
- 發布
- 2026-09-22
- 篇幅
- 約 4 分鐘 · 1,750 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:WordPress 7.1.1 推出才五天,又緊急推出 7.1.2,修補一個不用登入就能讓網站讀進任意 PHP 檔的重大漏洞,條件符合時可以遠端執行程式。

先用白話講:「讀進任意 PHP 檔」為什麼危險?
想像你家的智慧音箱會照著「食譜本」唸出做菜步驟。正常情況下,它只會從廚房那一櫃的食譜本裡挑。但如果有人能騙它「去書房拿那本說明書來唸」,它就會照著那本書做事,而那本書可能根本不是食譜。
WordPress 在決定「這個頁面要用哪個版型」時,會去主題資料夾裡找對應的 PHP 檔。這次的漏洞讓攻擊者能騙它去載入主題資料夾以外的 PHP 檔。PHP 檔一被載入就會執行,如果剛好找到一個「能被拿來下指令」的檔案,攻擊者就能在你的伺服器上執行程式。
發生什麼事
WordPress 在 9 月 22 日推出 7.1.2 安全更新,只修一個漏洞,但等級是重大(critical):
- 編號:CVE-2026-87902(GHSA-7hp8-65ch-5whp),CVSS 4.0 評分 9.2
- 問題:未登入的攻擊者,可以讓
get_page_template()載入一個伺服器上可讀取、但位於主題目錄外的.php檔 - 後果:伺服器環境與主題都符合條件時,可以遠端執行程式(RCE)
- 回報者:Robert Ressl
- 修補也回溯到 4.7 以後所有可接收修補的分支
什麼情況會被打?
要遠端執行程式,必須同時符合兩個條件:
| 條件 | 說明 |
|---|---|
| 主題 | 使用中的父主題或子主題,頂層有名稱以 page- 開頭的資料夾(例如 page-templates)。官方點名 Twenty Twelve、Twenty Fourteen,以及第三方的 Neve、Hestia、Sydney |
| 伺服器 | 有一個可被利用、網頁伺服器讀得到的 PHP 檔。官方舉例:register_argc_argv 開啟時的 pearcmd.php |
官方特別點名:官方的 php Docker 映像檔受影響;cPanel 的預設設定在 PHP 8.5 以前也受影響。
給開發者的技術細節
各分支的修補版本(節錄):
| 受影響版本 | 修補版本 |
|---|---|
| 7.1.0~7.1.1 | 7.1.2 |
| 7.0.0~7.0.5 | 7.0.6 |
| 6.9.0~6.9.8 | 6.9.9 |
| 6.8.0~6.8.9 | 6.8.10 |
| 4.7.0~4.7.36 | 4.7.37 |
用 WP-CLI 的可以直接更新並確認:
wp core update
wp core version
- 更新是唯一的根本解法;額外的防禦,可以檢查 PHP 設定裡的
register_argc_argv,網站用不到就關閉 - 自己包 Docker 映像檔的人,留意是否以官方 php 映像檔為基礎
- 檢查使用中的主題是否有
page-開頭的資料夾,好評估自己的風險
我的看法
一週內兩次安全更新,對手上管很多 WordPress 網站的接案者來說確實累,但這次的條件跟「Docker」和「cPanel」扯上關係,覆蓋面比想像中大。很多人用官方 php 映像檔自己包 WordPress 容器,或放在用舊版 PHP 的虛擬主機上,剛好踩在條件裡。
我會建議:所有客戶網站先確認自動更新有開;自己包容器的,順手檢查 PHP 設定,把用不到的 register_argc_argv 關掉。這種「單一漏洞不夠,要配合環境才致命」的問題,最怕大家覺得「我應該不會中」而拖著不更新。
名詞小辭典
- 路徑穿越(Path Traversal):利用路徑字元讓程式存取原本不該碰的資料夾或檔案。
- RCE(遠端程式碼執行):攻擊者能在你的伺服器上執行任意程式,是最嚴重的一類漏洞。
- PEAR:PHP 早期的套件管理工具,其中的
pearcmd.php在特定設定下可被拿來執行指令。 - cPanel:很多虛擬主機商提供的網站管理後台。