
編譯 | Tina、冬梅
上周剛追完 10 級補丁,以為能喘口氣了?還不行。
12 月 12 日,React 官方確認,研究人員在驗證上周補丁時,竟又在 React Server Components(RSC)里發現了兩處新漏洞。
過去一周,React2Shell 漏洞的余威仍在:服務器被劫持挖礦、云廠商緊急封禁、甚至引發 ;為了把風險壓下去,Vercel 甚至在一個周末就付出了 75 萬美元的漏洞賞金與應急處置成本。一次前端框架的漏洞,直接打穿了整個技術棧。React 官方連續發布緊急通告,反復強調“請立即升級”,短時間內已經是第二次大規模補丁更新。
這次披露的兩個漏洞分別是:高危 DoS(拒絕服務)CVE-2025-55184,單個請求即可導致服務器崩潰;以及中危源碼泄露 CVE-2025-55183,可能泄露 React Server Components 的源代碼。
![]()
![]()
1 一個 React 漏洞,撼動全球 Web
過去一周,一個被稱為 React2Shell 的漏洞席卷了整個互聯網行業。之所以引發如此級別的震蕩,根本原因只有一個:React 的地位太重要了,它幾乎是現代 Web 的“默認底座”。
從 Meta 自家的 Facebook、Instagram,到 Netflix、Airbnb、Shopify、Walmart、Asana 等大型平臺,統統都離不開它;更不用說數以百萬計的開發者生態,并且還有很多框架都依賴于存在漏洞的 React 包。
React 團隊將其編號為 CVE-2025-55182,其在通用漏洞評分系統中獲得了滿分 10.0 的嚴重性評級。作為 Next.js 的創建者和主要維護方,Vercel 也為這一問題單獨分配了 CVE 編號 CVE-2025-66478。
其可怕之處在于攻擊者幾乎無需任何前置條件即可利用該漏洞。云安全廠商 Wiz 觀察到,39% 的云環境包含存在 CVE-2025-55182 漏洞的 Next.js 或 React 實例。據估計,泄露事件發生時,超過兩百萬臺服務器存在安全漏洞。更糟糕的是,他們在實驗驗證中發現,這個漏洞的利用“幾乎百分百命中”,可以穩定達到完整的遠程代碼執行。
受影響的組件范圍包括 react-server-dom-webpack 等核心模塊 19.0 至 19.2.0 版本,同時波及多個 React 框架和打包器的默認配置,例如 Next.js、React Router、Vite RSC 等。對于許多框架(尤其是帶有 App Router 的 Next.js),RSC 實際上默認是開啟的。
當一個 10 級漏洞被公開時,其中不只是“漏洞被報告了、被修了”這么簡單,而是有真實世界的破壞性影響。
多位開發者在 X 上公開了自己中招的經歷,其中就包括開發者 Eduardo。服務器被封后,他立刻排查日志,發現機器早已被“接管”——CPU 飆到 361%,可疑進程瘋狂占用資源,還不斷向荷蘭某個 IP 發起連接:“我的服務器不再運行我的應用程序了,它在為別人挖礦!”
更糟的是,入侵并非 SSH 暴力破解,而是發生在 Next.js 容器內部:攻擊者利用漏洞進入后,可以在服務器上執行他們想執行的任何代碼,隨后投放更“職業化”的惡意程序,甚至把進程偽裝成 nginxs、apaches 之類的 Web 服務以降低暴露風險。“它僅通過一個 Next.js Docker 容器就感染了我的整個服務器!”
最后他警告:“如果 Docker 還在用 ROOT 權限運行、又沒更新被利用的 React 版本,你很快就會被黑。”(因為有 ROOT 權限,那么就可以安裝 cron、systemd 和持久化腳本,從而在重啟后仍然存在。)
![]()
![]()
非營利安全組織 ShadowServer Foundation 表示,自漏洞披露以來,來自被僵尸網絡控制的 Next.js 資產的攻擊流量突然飆升 10 倍:“和其他機構一樣,我們也觀察到有人在大規模嘗試利用 React 的 CVE-2025-55182,其中包括與僵尸網絡相關的活動。”
![]()
為什么說幾乎“一行代碼”即可修復
安全研究者 Lachlan Davidson 最早披露了該問題,并發布了詳盡的技術分析。他將漏洞描述為“一個安全檢查的嚴重缺失,與極具創造性的利用機制交織而成”。
研究流程本身也極具挑戰性:據披露,他為此投入超過 100 小時,而第一個公開復現攻擊代碼的獨立研究者 Maple 則在補丁公開后的數十小時內成功構造了最小可行攻擊鏈,展示了漏洞可被快速 weaponize 的風險。
簡單的說,這個漏洞并不是出在某個“奇怪的邊角功能”,而是出在 React Server Components 的核心通信機制上。
為了讓服務器組件變得足夠快,React 設計了 Flight 協議。你可以把它理解成 React 自帶的一套“前端專用數據通道”:服務器不再一次性把完整頁面數據丟給瀏覽器,而是按渲染樹結構,分批把數據發過去。這樣,界面可以先渲染能渲染的部分,剩下的慢慢補齊。
問題在于,這種能力非常強大。Flight 協議不僅要傳字符串、數字、JSON 數據,還要傳“還沒完成的東西”,比如 Promise 這樣的中間狀態,并重建組件樹。為了做到這一點,React 在服務器端需要對客戶端發來的請求內容進行反序列化和解釋,把它們還原成可以繼續執行的對象。
漏洞就出在這里。攻擊者可以偽造一個特殊的 HTTP 請求,把“看起來像正常 Flight 數據”的內容發送到任何 React Server Function 端點。React 在解析這些數據時,會誤以為它們是合法的內部對象,并按正常流程繼續處理。結果就是,攻擊者構造的數據被當成了代碼執行路徑的一部分,最終在服務器上直接觸發了遠程代碼執行。
![]()
整個過程不需要登錄、不需要憑證,也不需要繞過傳統意義上的安全邊界。僅僅因為 React 在內部序列化結構上缺失一個基礎的 hasOwnProperty 校驗,即被攻破了關鍵的運行時邊界。
Lachlan Davidson 將該漏洞負責任地報告給了 Meta 后,Meta 隨即與 React 團隊協作,在短短四天內推出了緊急補丁——從實現上看,它幾乎就是“補上一行代碼”,卻阻斷了一條足以摧毀服務器的攻擊鏈。
![]()
2 Vercel、Cloudflare 等無辜“躺槍”
10 級漏洞一曝光,最先“躺槍”的往往不是某個小團隊,而是一整條依賴 React 的產業鏈,尤其是前端托管與 Serverless 平臺。以 Vercel 為代表的頭部平臺幾乎必然站到風暴中心,因為它們既是 Next.js 的關鍵維護者,也是海量應用的默認入口。
應急階段,各家廠商確實第一時間把 WAF 頂上來了。Vercel、Cloudflare、AWS、Akamai、Fastly 等公司都部署了規則,用來攔截已知的 React2Shell 利用載荷模式。這的確能爭取時間,但問題在于,WAF 只能當緩沖,不能當答案。
WAF 的本質是規則匹配模式,攻擊者完全可以調整 payload 形態繞過;很多應用根本不依賴這些服務提供商,自托管、私有化部署或裸跑公網的實例更是 WAF 覆蓋不到;更關鍵的是,邊緣側的緩解措施永遠只是縱深防御的一層,而不是你的補丁策略。對這種 10/10 級別的 RCE 來說,真正的修復只有一件事:升級 React/Next 并重新部署,把漏洞代碼從運行環境里徹底清掉。
也正因為“不要把 WAF 當主修復手段”這句話戳到了痛點,業內出現了不小的爭執。Assetnote 聯合創始人 Shubham Shah 在領英上發文控訴 Vercel CEO 以一種近乎霸凌的態度,要求他撤下關于“不應依賴 WAF 防護此漏洞”的推文。Shubham Shah 表示:
“Vercel CEO 曾試圖否認其 WAF 可被繞過的事實,該漏洞涉及最新的 Next.js/RSC 遠程代碼執行。他以一種近乎霸凌的態度,要求我撤下關于“不應依賴 WAF 防護此漏洞”的推文。我當時的建議是:用戶應當直接修補自身系統,而非依賴 WAF——因為我們當時已能繞過 Cloudflare 的防護,而現在 Vercel 的 WAF 同樣可被繞過。這一建議至今依然成立。
WAF 固然有其作用,但核心解決方案始終是修復系統漏洞。目前許多用戶難以甄別自身系統的風險點,防御者更需要清晰信息來指導修補工作。像 Vercel 這樣的 WAF 廠商,不應通過施壓研究人員來掩蓋其 WAF 可被繞過的事實。
我剛為 react2shell-scanner 工具發布了更新,新增了 --vercel-waf-bypass 參數,該功能基于 Searchlight 網絡安全研究團隊 Adam Kues 設計的攻擊載荷,可有效繞過 Vercel 的 WAF 防護。”
![]()
出了問題試圖掩蓋總是無濟于事的,隨著更多人發現 Vercel 的漏洞后,Vercel 態度出現了大轉變,Vercel CEO 已就他此前質疑 WAF 可被繞過的態度致歉,并向 Searchlight 網絡安全研究團隊表達了敬意。
Vercel 團隊在數分鐘內響應了 Shubham Shah 團隊的報告,并在半小時內部署修復方案。Shubham Shah 在最新的領英帖子中表示:
“Vercel CEO 已就他此前質疑WAF可被繞過時的態度致歉,并向Searchlight網絡安全研究團隊表達了敬意。他還邀請我們在共享Slack工作空間中協作。
我們已通過其專項漏洞賞金計劃(
https://lnkd.in/gMsnZFeu)提交了多個有效的WAF繞過方案。其中部分漏洞使我們能完全繞過Vercel的WAF防護層(這類漏洞非常有趣!),另一些則得益于我們對Node.js和Next.js的深入理解。
截至目前,團隊中的Adam Kues、Dylan Pindur和我本人都獨立發現了不同的繞過方法。協助Vercel對我們至關重要,因為我們的許多客戶都深度依賴其基礎設施。當前WAF繞過的難度正逐漸增加。Vercel團隊能在數分鐘內響應我們的報告,并在半小時內部署修復方案。他們對此事的重視程度令人欣慰。最終,這成了一個圓滿的結局。”
![]()
在新漏洞和 React 10 級漏洞的雙重壓力下,Vercel 臨時啟動了堪稱史上最激進的安全補洞計劃。
12 月 11 日,在 Youtube 上,一檔名為《編程播客》的欄目剖析了因為這個“完美黑客”的攻擊,Vercel 如何在短短一個周末就花費了 75 萬美元來阻止它,以及 Dockerfile 中可能導致用戶的環境暴露的那一行代碼。
這檔播客中提到,事件曝光后,Vercel 迅速啟動應急流程,與 React 團隊、HackerOne 社區及安全研究人員協作,在短短一個周末內完成排查與修復,并支付了總計 75 萬美元的漏洞賞金。這一處置速度和透明度,被業內評價為“極具示范意義的公關與技術響應”。
事件之所以未造成更大規模的破壞,關鍵在于社區與平臺的快速反應。漏洞公開后,Vercel 與 HackerOne 合作,將相關漏洞及邊界情況全部開放給白帽社區。在三個晝夜內,共收到 17 到 19 條修復建議與邊界情形,涉及不同程度的安全隱患。最終,Vercel 支付了約 75 萬美元的賞金,用于獎勵這些在關鍵時刻參與修復的開發者與安全研究人員。包括 React、Next.js 等團隊在內的多方工程師也在周末全程投入,推動補丁快速落地。
由于 React 用戶群實在太廣泛,除了 Vercel 受影響比較嚴重外,Cloudflare 也一度亂了陣腳。
為了補救 React2Shell 漏洞帶來的影響,Cloudflare 倉促推出一項變更,導致約 28% 的 HTTP 流量受到影響,大量依賴 Cloudflare 的網站返回 500 內部服務器錯誤,一度造成約四分之一的互聯網流量無法訪問。
Cloudflare 首席技術官 Dane Knecht 隨后表示,此次事件并非源于網絡攻擊,而是公司在倉促應對 React Server Components 中的高危漏洞時引入的內部變更所致。
![]()
除了這些平臺外,英國國家醫療服務體系 (NHS) 英格蘭國家網絡安全中心(CSOC)周四也表示,已經存在多個功能性的 CVE-2025-55182 概念驗證漏洞利用程序,并警告說“在實際環境中繼續成功利用該漏洞的可能性非常高”。
![]()
https://www.linkedin.com/feed/update/urn:li:activity:7402830433983508480/
https://www.linkedin.com/posts/shubhamshah_vercel-platform-protection-bug-bounty-program-activity-7403346595586777089-qxq4/
https://www.reddit.com/r/pwnhub/comments/1pf1fu9/cloudflare_outage_linked_to_react2shell/?utm_source=chatgpt.com
https://www.bleepingcomputer.com/news/security/cloudflare-blames-todays-outage-on-emergency-react2shell-patch/
https://x.com/duborges/status/1997293892090183772
https://medium.com/@ryanblakes/react-js-shell-shocked-by-a-10-0-critical-vulnerability-a9958786536c
聲明:本文為 InfoQ 翻譯整理,不代表平臺觀點,未經許可禁止轉載。
AI 重塑組織的浪潮已至,Agentic 企業時代正式開啟!當 AI 不再是單純的輔助工具,而是深度融入業務核心、驅動組織形態與運作邏輯全面革新的核心力量。
把握行業變革關鍵節點,12 月 19 日 - 20 日,AICon 全球人工智能開發與應用大會(北京站) 即將重磅啟幕!本屆大會精準錨定行業前沿,聚焦大模型訓練與推理、AI Agent、研發新范式與組織革新,邀您共同深入探討:如何構建起可信賴、可規模化、可商業化的 Agentic 操作系統,讓 AI 真正成為企業降本增效、突破增長天花板的核心引擎。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.