PHP2Shell:兩個關鍵的 PHP 漏洞、一次洩露的禁令,以及關於漏洞利用的實際已知資訊
PHP針對兩個被稱為PHP2Shell的關鍵遠端程式碼執行漏洞CVE-2026-109618和CVE-2026-109619發布了緊急修復。
PHP針對兩個被稱為PHP2Shell的關鍵遠端程式碼執行漏洞CVE-2026-109618和CVE-2026-109619發布了緊急修復。該版本於2026年10月21日發布。本集將以淺顯易懂的語言解釋這兩個記憶體錯誤,說明為何2024年審計的一個線索遲遲未獲修復,禁運如何洩露,以及哪些來源對漏洞利用的說法。內容還涵蓋了GitLab的當日關鍵修補程式發布,以及新墨西哥州對Meta處以250億美元罰款的命令。
本影片重點
- PHP 團隊將這兩個漏洞在 CVSS v4.0 上都評定為 9.2 分。已修復的版本為 PHP 8.2.35、8.3.36、8.4.27 和 8.5.12;PHP 7.4、8.0 和 8.1 僅收到原始碼修補程式。PHP 表示更新是唯一完整的緩解措施。
- 第一個漏洞源於 PHP 在錯誤時機記憶體不足時,會留下一個半成品請求。第二個漏洞源於指向一個請求記憶體的剩餘指標,同一個工作進程中的後續請求可以使用該指標。在 Apache 搭配 mod_php 的情況下,第一種路徑在應用程式程式碼執行之前就已經運行。
- 一名 PHP 核心開發者在 2024 年的稽核中發現了記憶體問題的初步跡象。PHP 基金會表示,相互競爭的修復方案存在權衡,一個基於共識的安全團隊難以做出選擇,他們稱這是一種結構性失敗。
- 基金會表示,CVE ID 於 10 月 20 日洩露,Calif 錯誤地發布了概念驗證影片,而 Chainguard 在發布前六個多小時就發布了帶有修復程式的建置映像。Chainguard 的執行長表示,當時已經有人受到攻擊,而且他獨立發現了這些錯誤。
- 各方對於漏洞利用的說法不一。Amazon 於 10 月 17 日記錄到一次嘗試,後來表示 PHP2Shell 已被廣泛利用。watchTowr 報告在野外發現漏洞利用。CISA 在發布時尚未觀察到漏洞利用,PHP 團隊在發布時也未發現可用的利用程式。許多公開的概念驗證腳本據稱無法運作。
- 檢查所有運行 PHP 的地方,包括其他軟體內部拷貝,更新,重啟工作進程,並回溯到 10 月 17 日的日誌。
問題與解答
PHP2Shell 的兩個漏洞是什麼?
PHP2Shell 指的是兩個關鍵的 PHP 漏洞,CVE-2026-109618 和 CVE-2026-109619,兩者都被 PHP 團隊評定為 9.2 分。第一個漏洞是在 PHP 在錯誤時機記憶體不足時,會留下一個半成品請求,清理時會信任它。第二個漏洞是留下一個指向一個請求記憶體的指標,同一個工作進程中的後續請求可以使用它。兩者都可能導致無需登入即可執行程式碼。
哪些 PHP 版本有 PHP2Shell 的修復程式?不受支援的版本該如何處理?
PHP 專案於 10 月 21 日發布了 8.2.35、8.3.36、8.4.27 和 8.5.12 版本的修復程式。對於 7.4、8.0 和 8.1 版本,它僅發布了原始碼修補程式,BleepingComputer 報導稱,發行版和長期支援供應商可能會提供回溯修復程式。PHP 表示沒有完整的解決方法,因此更新或向供應商索取修補過的套件是唯一安全的選擇。
為什麼一個已知的 PHP 記憶體錯誤直到 2026 年 10 月才修復?
PHP 基金會表示,一位核心開發人員在 2024 年的安全稽核中發現了記憶體問題的初步跡象,但當時沒有已知的漏洞利用路徑,而且每個候選修復方案都存在兼容性中斷等權衡。安全團隊通過共識做出決定,難以做出選擇,基金會稱這是一種由其決策過程和資源匱乏造成的結構性失敗。
PHP2Shell 正在被利用嗎?利用難度如何?
各方說法不一。Amazon 在 10 月 17 日記錄到一次利用嘗試,後來表示 PHP2Shell 已被廣泛利用,watchTowr 報告在野外發現漏洞利用。CISA 在發布時尚未觀察到漏洞利用,PHP 團隊在發布時也沒有看到可用的利用程式。watchTowr 表示,大多數公開的利用腳本會崩潰或沒有任何作用,VulnCheck 發現程式碼執行僅在某些設置中有效。
The Daily Diff 對 PHP2Shell 的評語是什麼?
The Daily Diff 的評語是 SHIP IT:今晚就發布 PHP 更新,因為新版本是唯一完整的修復程式。CISA 建議清點所有運行 PHP 的系統,包括其他軟體內部拷貝,應用修補程式,如果無法更新,則將 PHP 系統下線。Amazon 建議回溯到 10 月 17 日的日誌,當時它發現了第一次嘗試。
翻譯文字稿
譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。
誰在 PHP2Shell 釋出四天前就嘗試過?
0:00 安全禁令旨在在修補程式發布前保持錯誤的秘密。 Amazon 在 PHP 關鍵漏洞發布前四天就記錄到一次嘗試。 在這個影片中,是誰發現的? 禁令是如何洩漏的? 它到底有多糟糕? 而那家被指責洩密的網路公司,有個我沒想到的辯解。 我會講到它。 今天是 10 月 22 日星期四,這裡是 The Daily Diff。
0:21 PHP 是一種腳本語言,它在伺服器上建立網頁,就在它們 到達您之前。它已經有三十多年的歷史,根據估計, 大約 70% 的網站都在運行它,包括 WordPress 和維基百科背後的軟體。 開發人員喜歡嘲笑它,通常是從 PHP 為他們服務的頁面。它的維護是由一個大約有十三名工程師組成的非營利組織負責。 它的維護是一個約有十三名工程師的非營利組織。
PHP2Shell 的兩個漏洞是什麼?
0:41 星期三,PHP 發布了緊急修復程式,解決了兩個關鍵漏洞,這些漏洞允許 陌生人無需登入即可在伺服器上執行程式碼。 它們合稱為 PHP2Shell,可追溯到 PHP 5.4 版本。 它們合稱為 PHP2Shell,並追溯到 PHP 5.4 版本。這是第一個漏洞的簡要說明。 PHP 為每個請求分配記憶體預算。 如果請求在錯誤的時刻達到該限制, PHP 會匆忙退出,留下半成品請求。 然後清理步驟會信任這個半成品。
1:07 第二個錯誤是殘留物。 致命錯誤可能會留下一個指向屬於上一個請求的記憶體的註記。 同一個工作進程處理下一個請求並遵循該註記。 屆時,該位址上已經有其他東西了。 在 Apache 搭配 mod PHP 的情況下,損害發生在您自己的程式碼運行之前, 因此您的登入頁面根本沒有發言權。 Wiz 表示,即使是 "hello world" 腳本也會受到影響。 修復程式移除了 PHP 因記憶體不足而緊急退出的機制。
1:32 現在,PHP 不會在請求中途退出,而是在下一個安全點優雅地停止。 奇怪的是,第一個線索有多麼古老。
為什麼一個已知的錯誤等了兩年才修復?
1:39 在 2024 年,一次外部安全稽核引導一位 PHP 核心開發人員發現了 記憶體問題的初步跡象。 當時沒有已知的漏洞利用,而且每個修復方案都會破壞一些東西。 一個基於共識的團隊無法做出選擇,所以這個錯誤就這樣等著。 然後在八月,發現者在幾天內就出現了。
誰發現了 PHP2Shell,以及如何發現的?
1:56 Calif 研究員 Ryan Austin 於 8 月 1 日發現了它, 透過 OpenAI 的 Patch the Planet 計劃工作。 OpenAI 獨立報告了相同的根本原因。 Wiz 在幾週後使用 Gemini 和 GPT 模型發現了變體。 Austin 表示他使用了任何人都可以使用的模型,以及關於 PHP 舊漏洞藏匿位置的理論。 OpenAI 表示,前沿 AI 是關鍵。 這個漏洞已經隱藏了十多年。 發布原定於星期四。
PHP2Shell 的禁令是如何洩漏的?
2:21 星期二,兩個 CVE 號碼開始在網路上流傳, 發布時間和評分十都不正確。 PHP 將發布時間提前了一天。 當天晚上,Calif 意外發布了其概念驗證影片, 而且刪除後仍有副本倖存。 星期三上午,在發布前六個多小時, Chainguard 發布了包含修復程式的建置映像。 PHP 表示,任何攻擊者都可以在其他人等待的時候研究該修復程式。
2:46 修補程式也是一個差異,攻擊者會閱讀差異。
PHP2Shell 正在被利用嗎?由誰利用?
2:50 那麼,到底誰受到了影響? Amazon 的蜜罐在 10 月 17 日記錄到一次嘗試,後來表示 PHP2Shell 被廣泛利用。 watchTowr 報告野外存在漏洞利用。 Cisa 表示在發布時沒有觀察到任何情況,PHP 團隊在發布時也沒有看到任何可用的漏洞利用。 發布時沒有可用的漏洞利用。 Cloudflare 的執行長表示,在發布公告前的十小時內,它看到了數千次嘗試, 到星期四早上已達數百萬次。
3:13 Amazon 在一個關鍵點上很謹慎。 它不知道其最早的嘗試是否會在真實系統上成功。一次嘗試只不過是敲門而已。 系統。一次嘗試只不過是敲門而已。 那麼,到底有多糟糕呢? watchTowr 表示,目前流傳的公開漏洞利用程式大多會崩潰或什麼也沒做。 VulnCheck 表示,程式碼執行在某些設置中有效,但沒有一個公開的漏洞利用程式 能在標準 x86 伺服器上繞過記憶體隨機化。 研究員 Elias Taylor 表示,它遠沒有 Log4Shell 那麼容易。
3:40 大家還是說要打補丁。 各國政府沒有等待判決。
政府下架了哪些網站?
3:44 NSA 告知無法修補的組織將 PHP 系統下線, 英國國家網路安全中心也提供了類似的建議。 包括國家數位身分服務在內的荷蘭網站, 與巴黎警察網站一起下線了。 維基媒體作為預防措施關閉了幾個系統。 Palo Alto Networks 統計有超過 2200 萬個暴露實例。 一位澳洲教授提出了最精闢的觀點。 真正需要擔心的網站是那些今天沒有停機的網站。
哪些 PHP 版本獲得了修復?
4:11 PHP 8.2 到 8.5 版本都有修復程式。 對於 7.4、8.0 和 8.1 版本, PHP 僅發布了原始碼修補程式。 舊版本不會從 PHP 專案獲得任何東西,所以請詢問您的發行版。 解決方法可以降低機率,但 PHP 表示更新是唯一完整的解決方案。 修復。這與昨天 eMudhra 事件的教訓相同,
今晚你該如何應對 PHP2Shell?
4:32 因為存在修復程式並不代表正在運行的程序已經擁有它。 找出堆疊中所有的 PHP,即使是隱藏在其他軟體中的副本。 更新、重啟工作進程,並檢查 10 月 17 日之前的日誌。 同日,GitLab 發布了關鍵修補程式版本,
今天還有哪些關鍵的遠端程式碼執行修補程式發布?
4:47 19.5.1。 其正規表達式編譯器中的整數溢位漏洞允許未經身份驗證的 正規表達式編譯器中的整數溢位漏洞允許未經身份驗證的 使用者在伺服器上執行程式碼,評分為十分。 GitLab.com 已經修補完畢。 自管安裝需要更新。
為什麼 Meta 被勒令支付 250 億美元?
5:01 同時在新墨西哥州,一名法官命令 Meta 就劍橋分析案支付 250 億美元的罰款。 因劍橋分析案而支付 250 億美元罰款。 陪審團計算出超過 4300 萬次違規行為,每次最高 5000 美元, 在法官削減之前總計約 2200 億美元。Meta 表示將在上訴中獲勝。 在法官削減之前總計約 2200 億美元。Meta 表示將在上訴中獲勝。 現在是我承諾的辯護。
Chainguard 對於提前修復的辯護是什麼?
5:19 Chainguard 的執行長告訴 The Register,他在星期五晚上自己發現了同樣的錯誤, 在得知 PHP 即將發生一些事情後,他使用一個基本提示來尋找糟糕的漏洞。 他說他提前發布是因為已經有人受到攻擊。如果您寧願閱讀而不是聽我說, 他說他提前發布是因為已經有人受到攻擊。如果您寧願閱讀而不是聽我說, 每天早上 The Daily Diff 都會免費寄到您的收件箱,網址是 thedailydiff.dev, 連結在下方。所以今天的判決是 SHIP IT。
什麼會得到 SHIP IT 的認可?
5:39 今晚就發布 PHP 更新吧,因為新的版本號是唯一完整的解決方案。 修復。這就是今天的差異。 我是 Axrisi 的 Niko。 負責任地合併。
來源
- Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
- RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
- RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
- Upcoming Critical PHP Security Releasephp.net
- php2shellCalif
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
- Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
- Critical Vulnerabilities in PHP Require Immediate PatchingCISA
- Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
- What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
- PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
- PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
- There isn't an easy exploit for this PHP vulnerabilityElias Taylor
- PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
- PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
- PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
- GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
- Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News



