AI挖出藏了十幾年的底層PHP漏洞,網路安全也回不去那個舊時代了

PHP再次曝出史詩級安全漏洞PHP2Shell,全球超70%網站面臨風險,荷蘭政府、日本niconico等接連中招,攻擊演示影片洩露,修復補丁緊急提前上線,AI輔助挖洞速度驚人,安全危機全面升級。

作者:數字生命卡茲克

昨晚,可能是網路安全的噩夢。

也是很多工程師的,不眠之夜。

只能說,我們整個時代和社會,在AI的加速下,都會變得焦頭爛額中。

事情是這樣的。

首先是前天,也就是10月20日夜裡11點多,Hacker News上突然冒出來一條帖子。

標題巨嚇人,說是兩個CVSS 10.0的PHP遠端程式碼執行漏洞,即將公開。

發帖的人自己寫著,除了「信源:信我就行」(trust me, bro)之外,我沒有任何證據,然後甚至還附上了漏洞編號。

不過呢,這種帖子,網上一天能刷到一百條,沒人當真。

但這一條,幾個小時後被一家叫watchTowr的安全公司確認了。他們的原話是:「我們本來都該等到週四的。」

這一下就尷尬了,因為這個漏洞是巨大的,已經處於洩密狀態了,真的有心人已經可以開始利用,但PHP官方的安全更新還在打包中,原定於22號晚上更新,可這瞬間就有兩天的空檔,如果這兩天之內漏洞被利用且被攻破,後果不堪設想。

又過了一個多小時,PHP官方急忙發了預告:原定10月22日的安全更新,被迫提前到21日晚上10點(北京時間),盡可能的壓縮時間。

結果,官方預告剛發出去,又出了個更離譜的事。

一家參與發現這兩個漏洞的安全公司,叫Calif,居然不小心把一段攻擊演示影片發到了網上,充分的說明了,這個世界就是一個巨大的草台班子。

影片裡,他們展示了如何利用這些漏洞,在多個目標上成功運行攻擊驗證程式,雖然影片很快就刪了,但沒辦法,手快已經有人保存下來,開始在社群上大肆傳播。

這下好了。

原本大家只知道有兩個嚴重漏洞,連具體怎麼攻擊都不知道,現在,連攻擊演示影片都有了,就差手把手教學了。

然後在各種離譜的AI加速之下,安全研究人員開始加速復現,網上各種號稱能利用漏洞的程式碼也開始冒出來。

而這時候,距離可以修復安全漏洞的補丁推出給所有人可被正式下載,還有,16個小時。

生死時速的16個小時,如果是以前,惡意之人,可能還沒辦法在這麼短的時間裡發起大規模的攻擊,但是如今,是AI時代了,16個小時,對於用AI加速後的人們來說,好像有點太長了。

更離譜的是,21日下午3點41分,一家做容器鏡像的公司,比約定時間提前了6個多小時,把已經打好補丁的鏡像發了出去,PHP基金會直接開罵了:「無視了多方數週的協調工作。」

因為這年頭,懂行的人拿新舊兩版程式碼讓AI直接暴力對比一下,直接就知道漏洞在哪了,用AI研究補丁,用AI逆向分析漏洞,再用AI開發攻擊程式。

但大量正常網站的管理員,卻還沒有能夠直接安裝的更新包,這意味著攻擊者直接開了天眼,直接搶跑。

於是,崩潰發生了。

21日這一天,荷蘭的數位身分系統、議會網站,連國家網路安全中心自己的網站,挨個下線。

芬蘭政府的IT服務商也關掉了一批服務,美國一家做人力資源軟體的公司 BambooHR直接停服,提醒客戶發薪相關業務可能受到影響,日本的 niconico和pixiv進入緊急維護。

因為日本的PHP網站實在太多了,甚至高市早苗都去X上發文,建議預防性下線,直到晚上10點的PHP更新推送。

一個程式語言的漏洞,讓高市早苗半夜發推,讓好幾個國家的政府主動拔網線,這種畫面,說實話,我真沒見過。

就這樣,世界跌跌撞撞,撐過了這十幾個小時。

無人知道,在這十幾個小時中,水下的黑暗面裡,獲得了什麼。

晚上10點,PHP安全更新上線,對於這兩項嚴重漏洞來說,沒有任何完整的緩解措施,更新是唯一安全的選擇。

同時,OpenAI出來認領,PHP這兩個史詩級的安全漏洞,是GPT輔助發現的。

而這個漏洞,還不是啥新模型整的,是幾個月前,用GPT-5.6 Sol發現的,所以大家就可以想像,如果是這些大模型公司的未發布的內部的更強模型去掃的話,全世界的各種網路基建,那可能真的全都有問題。。。

同時,OpenAI這次也緊急發布了一個skill,來輔助你發現,你的網站是否會受到影響。

這裡希望大家一定要注意,如果你自己的網站中,使用了PHP,如果你還不知道這些消息,請看到的第一時間,立刻,立刻更新版本,也希望能擴散給你的朋友。

我知道,很多人會說,不就是一個漏洞嗎?有什麼大驚小怪的。

那我覺得,要理解這次為什麼鬧這麼大,全球反應為啥這麼過度,得先知道PHP是個什麼東西。

我也不是啥專家,我只能用我知道的語言,盡力描述一下。

首先,我們可能都知道,你在瀏覽器裡點開一個網頁,伺服器那邊得現場算出來這一頁該顯示什麼,比如你是誰,購物車裡有什麼,這篇文章下面有幾條評論等等,那幹這個活的程式,叫後端。

而PHP,就是寫後端最常用的語言之一。

不過因為太老了,現在很多公司的新產品或者新技術棧都不太用了,並且有意思的是,PHP在程式設計師圈子裡一直是被嘲的對象,「PHP是世界上最好的語言」,當了十幾年的梗,很多人都覺得它是上個世紀的東西。

但在全球,用PHP搭的網站,依然佔據著70%,即使是新一點的國內,雖然Java極多,以2026年10月的數據看,依然還有超過一半的網站,是用PHP搭的。

人人都嘲它,但說實話,也人人都離不開它。

你註冊過的論壇、小店的付款頁、很多地方政府的辦事網站、公司內部的報銷系統,還有路由器和NAS的管理後台,大概率都有一個跑在PHP上的。

它就像城市地下的老水管,平時確實沒人想起它,一旦爆了,整條街都能噴的全是屎。

而這一次,就是PHP本身爆掉了。

這次的漏洞有個名字,叫PHP2Shell。Shell就是伺服器的命令列,拿到它,你就可以認為約等於拿到了這台伺服器的控制權了,所以這個名字的意思極其直接,從PHP,直通你的伺服器。

它包含兩個編號,CVE-2026-109618和CVE-2026-109619。

CVE你可以理解成漏洞的身分證號,全球統一。

嚴重程度用 CVSS 打分,滿分10分,最開始洩露版本是滿分,但是最後其實給的是9.2分。

要講清楚這兩個漏洞呢,還是得先說一個最近所有人都很肉疼的概念:

記憶體。

就是程式跑起來的時候,要不停地向系統「借」記憶體,用來存放臨時數據,然後用完再「還」回去,PHP的直譯器是用C語言寫的,C語言跑得快,但借和還,依然全靠程式設計師自己記帳,系統可不管你。

所以這個帳一旦記錯,就會出事了。

第一個漏洞,CVE-2026-109619,專業名詞叫「釋放後使用」(use-after-free)。

舉個例子,你開了一家酒店,第一個客人來寄存行李,服務員把他的東西放進了18號櫃子,並且在本子上記了下來。

後來客人走了,櫃子清空,重新給第二個人用了。

結果問題來了,服務員忘記把本子上原來的記錄刪掉了。

第二個人剛把自己的東西放進去,服務員就拿著舊記錄,跑去打開18號櫃子,還以為裡面是第一個人的行李。

這下就麻煩了,他可能看到了第二個人的東西,甚至還有可能把裡面的東西給弄壞了。

PHP這次的問題,就出在類似的地方,原本已經歸還的記憶體,又被拿去存放新的數據,但PHP還留著指向原來位置的舊記錄。

於是,它以為自己在處理上一份數據,實際上碰到的早就成了另一份數據,所以,如果攻擊者能精心操縱這個過程,就有機會讀取、篡改原本不該碰的數據,甚至進一步控制伺服器。

這就叫釋放後使用,英文叫Use-After-Free。

輕一點,能讀到伺服器記憶體裡別的用戶的密碼、令牌、API金鑰,嚴重一點的話,精心佈置記憶體以後,可以用你這台伺服器,直接執行他自己的程式碼,那後果就不堪設想了。

第二個洞:記憶體不夠時的緊急撤離,這是CVE-2026-109618。

這個漏洞更有意思,我們還是拿酒店舉例。

假設酒店裡有一個行李寄存處,每次客人過來寄存行李,服務員都要先在登記本上把數量加1,然後再把行李放到櫃子裡。

前面9件都很順利,到了第10件,服務員剛剛把數量從9改成10,正準備放行李的時候。

突然一下,停電了,就導致行李還沒放進去,整個系統就被迫中斷了。

結果更離譜的來了,酒店啟動緊急清理程式,清理人員拿著登記本一看:今天一共存了10件行李。

於是按照登記本上的數量,一個一個檢查。

但問題是,第10件行李根本沒放進去啊,那個位置裡面可能還是一些亂七八糟的舊東西。

可清理人員哪裡知道,也不管那些,照著登記本就把它當成正常行李處理了。

這下,整個系統就可能出問題了。

PHP這次的第二個漏洞,就是類似的道理。

它在整理數據的時候,會先把數量加1,再把真正的數據存進去,如果恰好在這兩步之間耗盡了記憶體,PHP就會緊急中斷操作。

但後面負責清理的程式,仍然按照那個已經加了1的數量去處理數據。

結果,就可能把一些根本沒有正確初始化的記憶體,當成正常數據來使用。

如果攻擊者能夠精心製造這種情況,就有機會進一步控制伺服器。

而且最恐怖的是,在某些伺服器配置下,這個過程甚至可以發生在網站自己的業務程式碼開始運行之前。

你自己寫的網站再小心,可能連出手的機會都沒有。

對普通人有關係嗎?當然有,你自己的電腦和手機不會受影響,受影響的是你用過的那些網站,如果某個沒人維護的小站被黑了,你在上面留下的帳號、密碼和手機號,還有所有的資訊,就可能跟著洩露。

這也是為什麼很多工程師這兩天又在說,C語言這種記憶體全靠人管的東西,遲早要出這種事,像Rust這樣的記憶體安全語言,在編譯階段就不讓你犯這類錯,所以OpenAI這次專門贊助了 Rust 基金會,不是沒有原因的。

回到這兩個漏洞,其實往前倒騰歷史,我們會發現這兩個漏洞根本不是什麼新東西。

2004年的時候,德國安全研究員Stefan Esser發現了PHP第一個跟記憶體上限有關的遠端漏洞,當時這類攻擊的利用方法都沒公開,只在少數安全公司手裡秘密流傳。

這個問題確實修了,但它的兄弟姐妹們,都還在。

2024年,PHP基金會拿到了德國Sovereign Tech Agency的資金支持,通過OSTIF協調,請法國安全公司Quarkslab給PHP做了一次多年未有的外部安全審計。

修其中一個問題的時候,基金會僱的一位核心開發者發現了類似的漏洞,他理論上覺得能被利用,但說實話,他也找不到一條具體的攻擊路徑。

然後修復方案就這麼拖著,安全團隊在幾種方案之間來回拉扯,停了又啟,啟了又停,後來PHP基金會在復盤裡自己承認,這是安全團隊的決策流程和人手不足造成的所謂的「結構性失敗」。

然後就到了 2026 年。

今年5月,開頭的那個叫Calif的安全公司搭了個系列,叫「AI發現漏洞月」。其中一篇用Claude在PHP裡挖出了一個21年前的記憶體漏洞。

然後,AI繼續加速,勢不可擋。

7月30日,Calif在OpenAI的安全計畫「Patch the Planet」裡,開始審計 PHP。

僅僅2天時間,8月1日,他們找到了第一個能觸發「記憶體耗盡」的入口。

8月11日,Calif把漏洞報給了PHP,同一天,OpenAI自己的研究人員也獨立報上了同一個問題。

8月15日,PHP確認,Calif交上來的攻擊演示確實能跑通。

8月24日和9月18日,安全公司Wiz和OpenAI又先後報上了更多攻擊路徑。

因為這兩個漏洞影響過於巨大,涉及到PHP底層,開始組織全世界的合作夥伴,一起協同修復,雲廠商、系統發行商、安全公司都需要提前準備,否則公開漏洞反而可能給攻擊者創造機會。

這個就是血淋淋的對比,2024年,一個核心開發者找了很久也沒找到如何利用這個漏洞,2026年,從開始審計到找到第一個入口,只用了兩天。

而更加離譜的事在於。

整個網際網路,是立在一堆沒人付錢、也沒幾個人認真看的程式碼上的。

這次也一樣,PHP 基金會自己承認,這個記憶體問題2024年就有苗頭,拖到今天,一個重要原因就是人手不夠,在復盤的最後,他們幾乎是在求助,希望公司、主機商和政府來贊助。

Hacker News上有人翻出了Debian上負責給PHP打包的維護者的贊助頁,吐槽了一句,一個月連700美元都不到?

而全世界的伺服器,真的,就在等這些人半夜起來發版。

可既然這些基礎軟體這麼脆弱,為什麼這麼多年,網際網路大體上還是好好的?

原因特別簡單,就跟前段時間的爆火的REA逆向一樣。

因為找漏洞太貴了。

就像很多商業軟體大家不願意逆向是一樣的,很多商業軟體的保護,來自於別人看不懂,也懶得花那個時間去研究。

找漏洞一樣能在PHP核心、OpenSSL這種地方找到並利用記憶體漏洞的人,全世界可能就幾百個。

他們的時間很貴,一個漏洞要磨幾個月。所以很多雷,可以安安靜靜地埋上二十年,是因為真的沒人願意去搭理他們,成本太高了。

但AI,讓過去世界所有的「貴」,都變得蕩然無存。

Anthropic這個月剛公布,從去年11月到今年10月初,它的模型在開源項目裡一共找出了29439條候選漏洞線索。

OpenAI在今晚的長文裡也說,PHP這兩個洞只是他們已經發現、正在修的好幾個重大漏洞之一,接下來幾個月「類似的發現會急劇增加」。

PHP2Shell不是結束,只是開始,這種事,接下來一定會越來越多,一定會的。

但這時候最核心的BUG出來了,就像數學一樣,數學的證明和發現變得越來越快,但是核心的瓶頸到了驗證上,前段時間OpenAI發出來那700多篇的論文,如果讓全世界的數學家們來去驗證是否正確,它需要最少幾個月甚至是一年的時間。

網路安全也是一樣,PHP的這個漏洞發現,只花了2天。

但是修復,花了整整兩個月。

漏洞發現會越來越多,但是能修復這些底層漏洞的人,根本沒有那麼多。

這就像我們古話說的。

「只有千日做賊的,哪有千日防賊的。」

我忽然想到了一個故事。

1871 年,寫《愛麗絲夢遊仙境》的卡羅爾出了續集《愛麗絲鏡中奇遇》。書裡有一個紅皇后,拉著愛麗絲拼命地跑,跑了半天,愛麗絲發現周圍的風景一點都沒變。

紅皇后告訴她:「在這裡,你得拼盡全力地跑,才能留在原地。」

這好像就是AI如今給社會帶來的困境。

不只是安全。科學發現在加速,寫程式碼在加速,複製軟體在加速,攻擊在加速,防守也在加速,好的東西和壞的東西,一起都在瘋狂的加速。

而我們每個人,都在這場紅皇后的賽跑裡。

停下來的代價,就是那些沒人記得的老網站、15年前搭好就再沒登錄過的後台、還在跑PHP 5的公司系統,它們在慢世界裡可以安穩地待上很多年,可在快世界裡,就是活靶子。

相信我,這個世界一定有無數的不再維護的PHP的老項目,他們現在,全是靶子。

人跑不過AI,這件事已經不用辯論了。

但在整個故事裡,每一個關鍵的決策節點,站的依然都還是人。

有善意的,有惡意的。

現在,這個無所不能的工具交到了所有人的手上。

正義會戰勝邪惡嗎?

AI可以讓人類一夜之間擁有過去難以想像的力量,卻沒法讓人類在一夜之間,學會與這種力量相匹配的克制。

當技術進步的速度。

遠遠超過人性成熟的速度。

我們究竟是在奔向一個更好的世界,還是在加速奔向自己的深淵?

說實話,我現在不知道了。

分享至:

作者:数字生命卡兹克

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:数字生命卡兹克如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
PANews APP
BTC跌破82000美元,日內下跌 3.02%
PANews 快訊