這是一篇關於 React 的 Server Components 軟體包中一個可導致未認證遠端程式碼執行的反序列化缺陷的解析。本文從防禦方的角度說明發生了什麼、誰受影響以及如何應對,不涉及攻擊步驟。
- CVE
- CVE-2026-126187(GHSA-xqc2-xf4c-x3h3;React: Unauthenticated Remote Code Execution in React Server Components)
- 嚴重度
- CVSS v4.0 9.5(Critical;向量 AV:N/AC:L/AT:P/PR:N/UI:N;由 GitHub 分配)。截至2026年11月11日,NVD 的分析尚未完成
- 型別
- 不可信資料反序列化(CWE-502)
- 影響
- 透過精心構造的載荷實現未認證的遠端程式碼執行。公告稱,它隻影響響應中同時傳輸多個型別化陣列和攻擊者可控值這種極為罕見的情形
- 受影響
- react-server-dom-webpack、-parcel 和 -turbopack 的 19.0.0 至 19.0.8、19.1.0 至 19.1.9、19.2.0 至 19.2.8 以及 19.3.0
- 修復
- 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1(2026年10月14日釋出)
- 釋出
- 2026年11月10日(CVE 和 GitHub 公告)
- 利用情況
- 未見利用報告。截至2026年11月12日未列入 KEV
拖延的風險
無需認證,且一旦成功,程式碼就會在伺服器上執行(對機密性、完整性和可用性的影響都很高)。條件苛刻是有利因素,但面向網際網路的伺服器上的缺陷一旦公開,往往就會被人研究。升級到已釋出的修復版本是件小事,所以本站認為沒有多少理由因為條件嚴格而推遲。
這是什麼樣的漏洞
GitHub 的公告稱,針對支援 React Server Components 的框架的精心構造的載荷,可導致遠端程式碼執行。它被歸類為 CWE-502(不可信資料反序列化)。
- 無需認證(PR:N),可透過網路利用,且無需使用者互動(UI:N)。
- 公告稱,它隻影響響應中同時傳輸多個型別化陣列和攻擊者可控值這種極為罕見的情形。CVSS v4 向量中的 AT:P(存在攻擊前提條件)反映了這一限制(我們的解讀)。
- Server Components 在伺服器上執行 React 程式碼。缺陷出在處理這類流量的軟體包中。
- 公告沒有描述載荷如何構造,也沒有說明確切條件,本站同樣不描述。
- 這一機制此前曾出現過嚴重缺陷。參見Next.js 和 React 漏洞概覽。
受影響範圍
| 項目 | 詳情 |
|---|---|
| 軟體包 | react-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack |
| 受影響版本 | 19.0.0 至 19.0.8 / 19.1.0 至 19.1.9 / 19.2.0 至 19.2.8 / 19.3.0 |
| 修復版本 | 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1 |
| 不受影響 | React 程式碼不使用伺服器的應用;不使用支援 Server Components 的框架、打包工具或外掛的應用(據公告) |
| 臨時解決辦法 / 緩解措施 | 公告中未找到 |
| Next.js | 未找到官方宣告。請檢查依賴項中的 react-server-dom-* 版本 |
- 版本範圍來自 GitHub 公告正文。CVE 記錄(由 GitHub 登記)對版本的表述不同,且其文字中有筆誤,所以我們對照公告正文和 React 的釋出說明交叉核對了修復版本號。
- 這三個軟體包根據您的打包工具(webpack、Parcel 或 Turbopack)安裝。如果存在多個,請全部檢查。
如何確認自己是否受影響
確認是否使用 Server Components
弄清楚您是否使用了支援 Server Components 的框架,例如 Next.js 的 App Router。根據公告,只在瀏覽器中執行 React 的應用不受影響。
在鎖檔案中檢查 react-server-dom-* 版本
在 package-lock.json、pnpm-lock.yaml 或 yarn.lock 中搜尋 react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack,看版本是否落在上述受影響範圍內。即使您沒有直接安裝它們,也可能作為框架的依賴項存在。關於自動化依賴檢查,參見使用 osv-scanner 監控依賴項。
檢查框架版本
Next.js 等框架可能自行捆綁或固定 react-server-dom-*。請檢視框架的官方釋出說明和公告,看是否有針對此 CVE 的應對。我們於2026年11月12日查閱時,沒有找到 Next.js 的官方宣告。
今天該做什麼
把 react-server-dom-* 升級到修復版本或更高版本(最優先)
按您使用的釋出線,使用 19.0.9、19.1.10、19.2.9 或 19.3.1 或更高版本。對於直接依賴,請提升軟體包版本並更新鎖檔案。
如果透過框架使用,請留意框架的更新
如果框架在內部固定了版本,請等待框架的更新,或遵循其官方指引。在沒有指引期間,請自行檢查依賴項版本,必要時詢問維護者。只有在測試確認框架仍能正常工作之後,才使用依賴項覆蓋。
更新後測試,然後部署
檢查 Server Components 頁面和 Server Actions,然後部署。更新後請再次檢查鎖檔案中的版本。
檢視日誌
查詢更新之前對 Server Components 端點的可疑請求和意外的伺服器錯誤。未見利用報告,但日誌是您唯一可以核查的證據。
利用情況
- 公告和 CVE 記錄都沒有提到利用。
- 該 CVE 未列入 CISA 的 KEV 目錄(KEV 版本 2026.11.10,2026年11月12日查閱)。
- NVD 顯示為「Received」,尚未分析。CVSS v4 評分 9.5 來自 GitHub(CNA)。
- 修復版本(10月14日)比 CVE 和公告(11月10日)早約四周釋出。釋出說明只描述了對傳輸協議的改進,沒有說明這是漏洞修復。
資訊來源
- GitHub — GHSA-xqc2-xf4c-x3h3 React: Unauthenticated Remote Code Execution in React Server Components(受影響和修復版本、不受影響的條件、CVSS v4 9.5)
- React — React 倉庫中的安全公告
- React — v19.2.9 釋出(19.0.9、19.1.10 和 19.3.1 同日釋出)
- CVE.org — CVE-2026-126187(2026年11月10日釋出)
- NVD — CVE-2026-126187(Received)
- Next.js — vercel/next.js 安全公告(未發現提及此 CVE)
由於沒有找到官方宣告,我們不說明對 Next.js 和類似框架的影響。最後確認:2026年11月12日。