AI 協助研究人員在 PHP 中發現兩個潛伏十多年的嚴重漏洞
AI Found Two Critical Flaws Hiding in PHP for a Decade
AI 協助研究人員在 PHP 引擎中發現兩個潛伏逾十年的嚴重漏洞,PHP 隨後發布緊急更新,修補可導致未經登入遠端程式碼執行的問題。兩個漏洞的 CVSS v4 評分均為 9.2,修補版本為 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35;PHP 團隊表示更新是唯一安全選擇。
這次事件呈現 AI 輔助程式碼審計的雙重影響:模型加快了長期潛伏漏洞的發現,也降低了把修補差異轉成攻擊線索的門檻。
PHP 今日發布緊急安全更新,修補兩個嚴重漏洞。攻擊者可利用漏洞,毋須登入便在網頁伺服器上執行程式碼。這兩個漏洞被稱為 PHP2Shell,編號為 CVE-2026-109618 和 CVE-2026-109619,兩者的 CVSS v4 評分均為 9.2。漏洞影響 PHP 引擎本身,也就是 WordPress、Drupal、Magento 及所有其他由 PHP 支援網站的底層,無論上層程式碼有多謹慎都一樣。
PHP2Shell:AI 發現 PHP 嚴重漏洞 · NotVibesCoded
PHP 這種語言支援約 70% 的網站,當中兩個嚴重遠端程式碼執行漏洞已存在逾十年。AI 模型協助研究人員發現……
notvibescoded.com
值得關注的細節並非嚴重程度評分,而是漏洞如何被發現,以及有人仔細檢視後,漏洞多快便被轉化為可行的攻擊。
PHP2Shell 實際上是甚麼
這兩個漏洞都是 PHP 處理請求時出現的記憶體安全問題,最終都會導致未經身份驗證的遠端程式碼執行。
- CVE-2026-109618 會在處理記憶體耗盡情況時造成記憶體損毀。當請求在設定過程中途耗盡記憶體,PHP 的錯誤復原機制可能令請求資料只完成部分初始化,之後的清理流程便會把這些損壞的資料當作有效資料處理。
- CVE-2026-109619 是全域狀態的釋放後使用問題。某位訪客請求中的資料可能在其記憶體已釋放後仍然存留,並被後續請求取用。一種已確認的攻擊途徑會利用 PHP 的工作階段上載進度功能;這項功能預設啟用已逾十年。
所有處理網頁請求的 PHP 安裝環境均受影響,包括 PHP-FPM、Apache with mod_php、php-cgi、FrankenPHP 和 LiteSpeed。PHP 團隊評定 mod_php 的風險最高,因為已展示的漏洞利用只需發出一個未經身份驗證的請求,便可在任何應用程式程式碼執行前觸發。登入畫面和安全外掛程式都無從發揮作用。
Google 旗下的網絡安全公司 Wiz 曾獨立發現這兩個漏洞。該公司表示,追溯至 PHP 5.4 的每個 PHP 版本,至少受其中一個漏洞影響。這些漏洞實際上已存在於程式碼庫逾十年。
AI 如何發現漏洞
8 月,安全公司 Calif 的研究人員 Ryan Austin 在 GPT-5.6 Sol 的協助下審查 PHP 原始碼;GPT-5.6 Sol 是 OpenAI 最先進的模型之一。這次審查是 Patch the Planet 開源安全計劃的一部分;OpenAI 於 6 月與 Trail of Bits 合作推出該計劃。Austin 發現了其中一個漏洞。Wiz 的研究人員則獨立運用 Google 的 Gemini 4 Argon、GPT-5.6 Sol 及自家的研究系統,發現了兩個漏洞。
OpenAI 以「Patch the Planet」為題發表了事件處理紀錄,並稱這些漏洞是「近年來影響最深遠的安全問題之一」。這並非單純的宣傳説法。這類漏洞早在數十年前已被指出是問題所在,之後卻大致被人遺忘,因為當時普遍認為難以利用。AI 改變了嘗試利用漏洞的成本效益。研究人員表示,模型協助將理論上的弱點轉化為可靠的漏洞利用,只需向伺服器發出幾十次請求:在小型系統上需時數秒,在複雜系統上則需數小時。原本需要熟練團隊花數月完成的工作,約一星期便完成。
Calif 行政總裁 Thai Duong 向《華爾街日報》直言問題的另一面:「Twitter 上隨便一個人都可以拿到修補程式,讓 AI 分析,然後貼出漏洞利用程式碼,局面就會一發不可收拾。」修補程式一經發布,任何人都可以將它與舊版程式碼比對,並要求模型準確解釋哪些地方作出了改動,以及漏洞所在。發現漏洞的同一種能力,也可以用來對漏洞進行逆向分析。
緊急應對
協調披露計劃未能抵擋互聯網的衝擊。兩個 CVE 的詳情在 10 月 20 日、即原定公佈日期前一天,已在 Hacker News 和社交媒體上流傳;一個名為 php2shell 的漏洞利用示範亦在網上傳播。PHP 將發布時間提前了一天。
10 月 21 日早上,Cloudflare 的 CTO 報告指攻擊已開始,當時距離修補程式發布約有六小時;他表示,公司已為所有客戶部署緊急防火牆規則,包括免費用戶。他明確指出,這只是權宜措施,只有套用修補程式才能解決問題。CISA 和 FBI 呼籲各機構立即修補。在荷蘭,國家登入系統 DigiD、國會網站,以及該國的網絡安全機構都基於預防措施而關閉網站。安全遙測數據顯示,超過 2,260 萬台暴露於互聯網、執行可能受影響 PHP 的伺服器。
修補程式約於 13:35 UTC 隨 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 發布。
使用 PHP 的用戶,立即更新
PHP Foundation 的立場十分明確:「沒有任何完整的緩解方法,更新是唯一安全的選擇。」
- 更新至 PHP 8.5.12、8.4.27、8.3.36 或 8.2.35。Linux 發行版及 LTS 用戶應向供應商查詢套件;相關套件已預先提供。
-
不要依賴權宜措施。設定
session.upload_progress.enabled=0可封鎖 CVE-2026-109619 一條已確認的攻擊途徑,除此之外別無作用。 - PHP 8.1 及更舊版本不會獲得上游修補。PHP 團隊為 7.4、8.0 和 8.1 發布了最低限度的源碼回溯移植版本,部分供應商亦正提供更多回溯移植修補;但無法更新的未修補舊版安裝,應下線直至可以更新為止。目前互聯網上可見的 PHP 伺服器中,有很大一部分仍在執行不受支援的版本,而它們現已成為網絡上最容易下手的目標。
今日過後真正重要的事
撇開事故應變工作,有一項事實依然不變:前沿模型一旦用於分析程式碼,僅僅幾週便找出並武器化了那些經過人類審查、潛藏十年的漏洞。這同時帶來正反兩方面的影響。防守方得到一名永不疲倦的審計員,可以閲讀整個程式引擎,只為找出一個錯誤假設。攻擊者也得到同一名審計員,修補程式一發布,更有一部能比較修補前後差異的機器。
這次防守方搶先一步,協調工作亦奏效:研究人員、維護者、託管服務供應商和政府都在可行漏洞利用程式碼公開前,準備好了修補程式和防火牆規則。OpenAI 明確提出,應以這種協調應對方式作為未來的範本,因為漏洞發現只會愈來愈快。
對任何使用 AI 開發軟件的人來説,包括本網站報道的 AI 輔助開發方式,這個教訓既令人不安,也很有用。程式碼審查的標準剛剛提高了。程式碼只是看起來正確,一直都是隱患;如今已有工具可以有系統地找出程式碼不正確之處,無論你先用這些工具檢查自己的程式碼,還是由別人替你檢查。快速推出產品沒有問題,但未經審查便推出,正逐漸成為一種可量化、並且有時間線的風險。
本文最初刊載於 NotVibesCoded。該網站的 PHP2Shell 專題介紹了事件經過、AI 如何找出漏洞,以及應該修補哪些地方。請在該網站閲讀全文,並追蹤該網站,獲取坦誠而注重實測的 AI 開發報道。
來源:DEV Community · dev.to