React2Shell 漏洞利用分析:Flight 協議資料處理安全風險評估
2025 年 12 月初,React 與 Next.js 生態系爆發了近年來最嚴重的資安漏洞,代號為「React2Shell」的 CVE-2025-55182。此漏洞直指 React Server Components (RSC) 的核心機制——Flight 協議,其 CVSS 風險評分達到滿分 10.0。由於 React 在現代 Web 開發中的高佔有率,該漏洞迅速引發了全球資安社群與 APT 組織的關注。本文將針對該漏洞的技術成因、Flight 協議的設計缺陷以及企業應採取的緩解措施進行深入分析。
漏洞概述:CVE-2025-55182 與 CVE-2025-66478
React2Shell 漏洞的核心在於 React 19 引入的 Server Components 機制中,負責伺服器與客戶端序列化通訊的 Flight 協議存在反序列化缺陷 (Deserialization Flaw)。攻擊者可以透過構造惡意的 Flight 資料負載,在未經身份驗證的情況下觸發遠端程式碼執行 (RCE)。(Picus Security)
受影響的版本範圍相當廣泛:
- React: 19.0.0 至 19.2.0
- Next.js: 15.x (版本 < 15.1.4) 以及 16.x (版本 < 16.0.7)
- 其他框架: 凡是使用 RSC 機制的框架如 React Router、Waku 等均在受影響之列。(Dynatrace)
技術深究:Flight 協議的設計風險
React Server Components 允許開發者將組件邏輯放在伺服器端執行,並透過 Flight 協議將結果傳輸至瀏覽器。Flight 協議本質上是一種串流格式,用於描述組件樹的結構與屬性。然而,在處理某些特定類型的物件或閉包 (Closures) 時,Flight 協議的解析器未能對輸入進行嚴格的類型檢查與邊界限制。
當攻擊者發送精心構造的 Flight 請求(通常透過特殊的 HTTP Header 或 POST 參數觸發)時,伺服器端的解析邏輯會將惡意字串誤認為可執行指令或物件參考。這種「非預期序列化」直接導致了記憶體損壞或直接的指令注入。由於 RSC 通常運行在具有 Node.js 或 Edge Runtime 環境的伺服器上,這意味著攻擊者可以獲取伺服器層級的權限,進而橫向移動至內網或竊取環境變數(如資料庫密鑰、API Keys)。(Reddit/Nextjs)
威脅情資:APT 組織的快速介入
根據 Google Cloud 與 AWS 的威脅情報顯示,React2Shell 揭露後僅數小時內,便觀察到多個與中國相關的威脅組織(如 Earth Lamia 與 Jackpot Panda)開始進行大規模掃描與利用。攻擊鏈通常包含以下行為:
- 初始入侵:利用漏洞植入 Web Shell 或反彈 Shell (Reverse Shell)。
- 後續行動:部署 MINOCAT 隧道工具、SNOWLIGHT 下載器,或是 HISONIC 與 COMPOOD 等後門程式。
- 經濟獲利:在受害伺服器上安裝 XMRIG 挖礦軟體。(Google Cloud Blog / AWS Blog)
CVE 漏洞清單整理
| CVE 編號 | CVSS 評分 | 描述 |
|---|---|---|
| CVE-2025-55182 | 10.0 (Critical) | React Flight 協議中的反序列化漏洞,導致未經授權的 RCE。 |
| CVE-2025-66478 | 10.0 (Critical) | Next.js 實作 RSC 過程中的特定繞過漏洞,與 55182 密切相關。 |
解決方案與防禦建議
針對 React2Shell,IT 管理者與開發者應採取「即刻修補、多層防禦」的策略:
1. 立即升級依賴項
這是最直接的解決方式。請確保專案中的 package.json 已更新至修補版本:
# 升級 React
npm install react@19.2.1 react-dom@19.2.1
# 升級 Next.js (依據主版本選擇)
npm install next@15.1.4
# 或
npm install next@16.0.7
2. 部署 WAF 過濾規則
在修補程序完成前,應在 Web 應用程式防火牆 (WAF) 上部署針對 RSC 請求特徵的過濾規則。監控 HTTP 請求中異常的 __rsc__ 查詢參數或特殊的 Flight 格式字串(如包含 Node.js 內建模組名稱的字串)。(Google Cloud Blog)
3. 最小權限原則與監控
確保運行 React 應用的容器或伺服器不具備 Root 權限。同時,利用 EDR 工具監控 Node.js 進程是否有異常的子進程派生(如啟動 /bin/sh 或 curl/wget 下載行為)。
MITRE ATT&CK 對應
- T1190 – Exploit Public-Facing Application (利用漏洞進行初始存取)
- T1203 – Exploitation for Client Execution (利用 Flight 協議解析缺陷執行程式碼)
- T1105 – Ingress Tool Transfer (下載惡意後門或挖礦程式)
- T1567 – Exfiltration Over Web Service (透過 Web 服務外洩敏感憑證)
結論
React2Shell (CVE-2025-55182) 再次提醒了現代 Web 開發者,即便是在成熟的 UI 框架中,新功能的引入(如 Server Components)往往伴隨著全新的攻擊面。對於企業而言,建立軟體清單 (SBOM) 並具備快速響應漏洞的能力,是維護雲端基礎設施安全的不二法門。
參考資料與原文來源
- Picus Security: React Flight Protocol RCE Vulnerability (CVE-2025-55182) Explained
- Dynatrace: React2Shell CVE-2025-55182 – What it is and what to do
- Google Cloud Blog: Multiple Threat Actors Exploit React2Shell
- AWS Security Blog: China-nexus cyber threat groups rapidly exploit React2Shell vulnerability
- Reddit r/nextjs: Critical Security Alert – Technical Deep Dive into CVE-2025-55182
🧠本文由 DreamJ AI 技術新聞生成系統 自動撰寫並進行語意優化,僅供技術研究與教學使用。
請以原廠公告、CVE 官方資料與安全建議為最終依據。












發佈留言