Security ·
PHP2Shell:網站有用 PHP 的,這週請更新
兩個 PHP 漏洞(CVE-2026-109618、CVE-2026-109619)讓攻擊者不用帳號密碼就能在你的網站主機上執行程式。WordPress、購物車、老後台都可能中。看懂發生了什麼、該問誰、該做什麼。
先說結論
- 真的嚴重。 陌生人不需要任何帳號密碼,就能在你的網站主機上執行程式。PHP 官方評為 CVSS 9.2(滿分 10)。
- 範圍很廣。 全球大約四分之三的網站用 PHP(W3Techs 統計)——WordPress、購物車、報名系統、老式後台都是。
- 只有更新能真正解決。 修好的版本:PHP 8.5.12、8.4.27、8.3.36、8.2.35。設定上的緩解只能降低風險。
發生了什麼
- 10/17:Amazon 的威脅情報團隊已觀察到攻擊嘗試——比任何人公開談論都早。
- 10/20:原訂 10/22 協調公開的漏洞資訊提前外流。PHP 安全團隊把修補發布提前到隔天。
- 10/21:PHP 官方發布修補版本。安全圈給這組漏洞取名 PHP2Shell。
- 10/22 起:公開的概念驗證程式出現,Cloudflare 回報「早期攻擊正在浮現」。
重點只有一個:壞人比修補程式早到。 你不是在賭有沒有人會攻擊,是在賭什麼時候輪到你。
跟我有關嗎
| 你的情況 | 跟 PHP 的關係 |
|---|---|
| 官網是 WordPress、Joomla、Drupal | 全是 PHP |
| 購物網站用 WooCommerce、Magento、OpenCart | 全是 PHP |
| 用主機商的虛擬主機,後台是 cPanel 或 Plesk | 主機商幫你跑 PHP,要確認他們更新了 |
| 多年前請人寫的報名系統、會員後台 | 很可能是 PHP,而且版本很舊 |
自己架的 Docker 服務,有 php: 開頭的映像 | 要重拉新版映像並重新部署 |
| 廠商裝在公司裡、有網頁管理介面的設備 | 要問廠商,別假設沒事 |
技術上是什麼
PHP 處理每個請求時會先準備工作空間、做完再清理。兩個漏洞都出在「清理」:一個是記憶體用盡時中斷的時機不對(CVE-2026-109618),一個是工作程序被強制中斷後,殘留狀態被下一個請求碰到(CVE-2026-109619)。結局一樣:攻擊者以網站程式的權限執行任何指令。
對 Apache mod_php 風險最高,因為攻擊在你的網站程式碼還沒開始跑之前就能發生——「我的網站寫得很安全」在這裡幫不上忙。 攻擊手法我們不寫,對防守方來說,知道要更新就夠了。
該怎麼做
不確定自己的網站有沒有用 PHP?網址裡出現 .php、或後台網址是 /wp-admin,就是。不確定也沒關係,直接問。
把這三個問題丟給主機商、網站廠商或工程師:
- 「我們的網站現在跑哪個 PHP 版本?」 應該是 8.2.35、8.3.36、8.4.27、8.5.12 或更新。
- 「版本太舊不能直接更新的話,計畫是什麼?」 合理答案:排程升級、先用 WAF 擋、先從公開網路撤下。不合理答案:「應該不會有事」。
- 「更新完有重啟 PHP 嗎?」 修補要重啟才生效。很多「更新了還是中」的案例,問題在這裡。
得到「更新好了,版本是 8.x.xx,已重啟」才算完。
有這些跡象,可能已經被打了:
- 網站突然變慢、常常打不開
- 網站上出現不認識的頁面或連結,或 Google 搜尋結果出現奇怪的標題
- 瀏覽器或 Google Search Console 跳出「此網站可能遭到入侵」
- 主機商寄信說你的主機在對外發送異常流量
遇到這些,先請廠商把網站暫時下線並保留紀錄,再處理。不要先急著「清一清」,證據會不見。
寫在最後
「做完就沒人管」的網站,是這次最大的受害群。如果公司有這樣的網站,趁這次把它認領回來:跑在哪、誰維護、多久更新一次。這些答案平常不值錢,出事的時候值很多錢。
參考資料
- PHP 官方發行版本列表(修補版本 10 月 21 日發布)
- 加拿大網路安全中心警示 AL26-026
- Tenable:php2shell 常見問題
- Rapid7:CVE-2026-109618 與 CVE-2026-109619 分析
- Huntress:php2shell 快速回應
技術細節、修補指令與暫時緩解設定,工程師請看上面的原廠文件。版本號與時間以 2026 年 10 月 23 日各廠商公告為準。