PHP2Shell:兩個關鍵PHP漏洞、外洩的禁令,以及關於漏洞利用的實際已知資訊
PHP 針對兩個關鍵的遠端程式碼執行漏洞 CVE-2026-109618 和 CVE-2026-109619(統稱為 PHP2Shell)發布了緊急修復程式。
PHP 針對兩個關鍵的遠端程式碼執行漏洞 CVE-2026-109618 和 CVE-2026-109619(統稱為 PHP2Shell)發布了緊急修復程式。該版本於 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的CEO表示,當時已經有人受到攻擊,而且他獨立發現了這些漏洞。
- 各方消息對於漏洞利用意見不一。亞馬遜在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是否正在被利用,以及利用的難度如何?
消息來源意見不一。亞馬遜在10月17日記錄到一次利用嘗試,後來表示PHP2Shell被廣泛利用,watchTowr報告稱在野外發現利用。CISA在發布時尚未觀察到利用,PHP團隊在發布時也未發現可用的漏洞利用。watchTowr表示,大多數公開的利用腳本會崩潰或無效,VulnCheck發現程式碼執行僅在某些設定中有效。
The Daily Diff對PHP2Shell的評測結果是什麼?
The Daily Diff的評測結果是SHIP IT:今晚發布PHP更新,因為新版本是唯一完整的修復。CISA建議清點所有運行PHP的系統,包括其他軟體內部的副本,應用補丁,如果無法更新,則將PHP系統離線。亞馬遜建議回溯檢查10月17日以來的日誌,當時它發現了第一次嘗試。
翻譯的文字記錄
從英文原文旁白翻譯。可用的音頻和字幕由 YouTube 控制。
誰在PHP2Shell發布前四天嘗試了它?
0:00 安全禁令旨在在補丁發布之前保持漏洞的秘密。 亞馬遜在PHP關鍵漏洞發布前四天記錄到一次攻擊嘗試。 在這段影片中,是誰發現了它? 禁令是如何洩露的? 它到底有多嚴重? 而那個被指責洩密的實體,其辯護出乎我的意料。 我會講到它。 今天是10月22日星期四,這是The Daily Diff。
0:21 PHP是一種指令碼語言,它在伺服器上建立網頁,然後才 傳輸給你。它已經超過三十年了,據估計, 運行著大約百分之七十的網站,包括WordPress和維基百科背後的軟體。 開發者喜歡嘲笑它,通常是從PHP為他們提供的頁面。 它的維護是一個擁有約十三名工程師的非營利組織。
兩個PHP2Shell漏洞是什麼?
0:41 週三,PHP發布了緊急修復程式,修補了兩個關鍵漏洞,這些漏洞允許 陌生人在無需登入的情況下在伺服器上執行程式碼。 它們統稱為PHP2Shell,可以追溯到PHP五 點四。這是第一個漏洞的簡潔解釋。 PHP為每個請求分配記憶體預算。 如果請求在錯誤的時刻達到該限制, PHP會匆忙退出,並使請求處於半建構狀態。 然後清理步驟會信任這個半建構的物件。
1:07 第二個錯誤是殘留物。 致命錯誤可能會留下一個指向屬於上一個請求記憶體的備註。 同一個工作程序處理下一個請求並遵循該備註。 到那時,另一個人已經居住在該地址。 在Apache與mod PHP結合使用時,損害發生在您的程式碼運行之前, 因此您的登入頁面從未獲得投票權。 Wiz表示,即使是Hello World腳本也會受到影響。 該修復程式取消了PHP在記憶體不足時的緊急出口。
1:32 現在,PHP不再在請求中途退出,而是禮貌地在下一個安全點停止。 奇怪的是,第一個線索是多麼古老。
為什麼一個已知的漏洞拖了兩年才修復?
1:39 2024年,一次外部安全審計引導一位PHP核心開發者發現了 記憶體問題的初步跡象。 當時沒有已知的漏洞利用,而且每個修復方案都會導致一些問題。 一個通過共識決策的團隊無法做出選擇,因此這個漏洞一直等待著。 然後在八月,發現者們在幾天內出現了。
誰發現了PHP2Shell,以及是如何發現的?
1:56 Calif研究員Ryan Austin於八月一日發現了它, 通過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 那麼,誰真的受到了攻擊? 亞馬遜的蜜罐在10月17日記錄到一次嘗試,後來表示 PHP2Shell被廣泛利用。 watchTowr報告稱在野外發現漏洞利用。 Cisa表示在發布時未觀察到任何情況,PHP團隊在發布時也未發現任何 可用的漏洞利用。 Cloudflare的CEO表示,在公告發布前的十小時內,他們發現了數千次攻擊嘗試, 到週四早上已達數百萬次。
3:13 亞馬遜在一個問題上很謹慎。 它不知道其最早的嘗試是否會對真實系統有效。 一次嘗試只是敲門。 那麼,它到底有多糟? 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發布了一個關鍵補丁版本,
今天還有什麼關鍵RCE補丁發布?
4:47 19.5.1。 其正規表示式編譯器中的整數溢出 允許未經身份驗證的用戶 在伺服器上執行程式碼,其評分為十分。 GitLab.com已打補丁。 自行管理的安裝需要更新。
Meta為何被勒令支付250億美元罰款?
5:01 同時在新墨西哥州,一名法官勒令Meta支付250億美元的罰款, 原因是劍橋分析公司事件。 陪審團統計了超過4300萬次違規行為,每次最高5000美元, 在法官削減之前總計約2200億美元。Meta表示將在上訴中獲勝。 Meta表示將在上訴中獲勝。 現在我承諾的辯護。
Chainguard為何提前發布修復?
5:19 Chainguard的CEO告訴The Register,他自己是在一個星期五晚上, 得知PHP即將發生一些事情之後,用一個基本提示來尋找嚴重的漏洞, 發現了相同的漏洞。他說他提早發布是因為人們已經受到攻擊。 如果你寧願閱讀這份內容而不是聽我說, 差異每天早上都會免費發送到你的收件箱,網址是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



