文章首發(fā)于:https://feinterview.poetries.top/blog/2025/12/04/nextjs-CVE-2025-66478
漏洞編號: CVE-2025-66478 (Next.js) | CVE-2025-55182 (React)嚴重級別: CVSS 最高風險等級 10.0影響范圍: Next.js 15.x、16.x 及部分 14.x canary 版本
React 官方與 Next.js 團隊剛剛發(fā)布緊急安全通告:React Server Components (RSC) 協(xié)議存在嚴重漏洞,允許未經(jīng)認證的攻擊者通過構(gòu)造惡意請求在服務(wù)器端執(zhí)行任意代碼。使用 App Router 的 Next.js 應(yīng)用受到直接影響。官方已發(fā)布修復版本,建議所有受影響用戶盡快升級。
一、哪些項目受影響?
? 受影響范圍
如果你的項目同時滿足以下條件,建議盡快升級:
使用 Next.js 的 App Router(不是 Pages Router),且版本在 15.0.0 ~ 15.0.4、15.1.0 ~ 15.1.8、15.2.0 ~ 15.2.5、15.3.0 ~ 15.3.5、15.4.0 ~ 15.4.7、15.5.0 ~ 15.5.6、16.0.0 ~ 16.0.6,或 14.3.0-canary.77 及以上 canary 版本。
? 不受影響
以下情況不受此漏洞影響:
Next.js 13.x 版本、14.x 穩(wěn)定版,或使用 Pages Router 的項目,以及運行在 Edge Runtime 的應(yīng)用。
二、漏洞有多嚴重?
這個漏洞被評為 CVSS 最高風險等級 10.0。攻擊者無需任何認證,僅通過網(wǎng)絡(luò)就能向你的服務(wù)器發(fā)送特殊構(gòu)造的 HTTP 請求,觸發(fā) React Server Components 在反序列化過程中的缺陷,從而在服務(wù)器上執(zhí)行任意代碼。
具體風險:
攻擊者可以在你的服務(wù)器上運行任意代碼,讀取環(huán)境變量、配置文件、數(shù)據(jù)庫憑證等敏感信息。更嚴重的情況下,還可能接管整個服務(wù)器資源。
即使你的應(yīng)用沒有明確定義 Server Function 端點,啟用了 RSC 支持就可能受到攻擊。官方暫未公開更詳細的技術(shù)細節(jié),以保護未升級用戶。
三、如何修復?
方案一:升級到修復版本(推薦)
根據(jù)你當前使用的 Next.js 版本,執(zhí)行對應(yīng)的升級命令:
# Next.js 15.0.x 用戶
npm install next@15.0.5
# Next.js 15.1.x 用戶
npm install next@15.1.9
# Next.js 15.2.x 用戶
npm install next@15.2.6
# Next.js 15.3.x 用戶
npm install next@15.3.6
# Next.js 15.4.x 用戶
npm install next@15.4.8
# Next.js 15.5.x 用戶
npm install next@15.5.7
# Next.js 16.0.x 用戶
npm install next@16.0.7
方案二:14.3 canary 用戶降級
如果你在使用 14.3.0-canary.77 或更高的 canary 版本,請降級到最新的 14.x 穩(wěn)定版:
npm install next@14
升級后驗證
升級完成后,建議執(zhí)行以下檢查:
確認版本: 運行 npm ls next 或查看 package.json;運行測試: 確保應(yīng)用功能正常;檢查 CI/CD: 更新鎖文件 (package-lock.json / yarn.lock / pnpm-lock.yaml);清理緩存: 刪除 .next 目錄并重新構(gòu)建。
四、生產(chǎn)環(huán)境自查清單
如果你負責多個項目或團隊基礎(chǔ)設(shè)施,可以按照以下清單逐一排查:
確認所有生產(chǎn)項目的 Next.js 版本 → 識別使用 App Router 的項目(Pages Router 不受影響)→ 執(zhí)行升級并更新依賴鎖文件 → 在預發(fā)布環(huán)境測試修復版本 → 部署到生產(chǎn)環(huán)境 → 檢查監(jiān)控和日志,確認無異常請求。
特別提示: 即使托管服務(wù)商(如 Vercel)已經(jīng)部署臨時 WAF 規(guī)則來緩解攻擊,官方仍強烈建議升級,不要依賴臨時防護措施。
五、關(guān)于上游漏洞 (React)
此漏洞源于 React Server Components 的底層實現(xiàn)(CVE-2025-55182)。如果你直接使用 React 19 并啟用了 RSC,也需要升級對應(yīng)的 React 包:
React 修復版本: 19.0.1、19.1.2、19.2.1
受影響的包括 react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack。
其他集成 RSC 的框架(如 React Router、Waku、Redwood SDK)也可能受影響,請查閱各自社區(qū)的安全通告。
六、致謝與參考
感謝安全研究員 Lachlan Davidson 發(fā)現(xiàn)并負責任地披露了這個漏洞。
官方公告:
Next.js 安全通告 - CVE-2025-66478React 安全通告 - CVE-2025-55182
時間線:
2025年12月3日,官方發(fā)布安全通告與修復版本;12月4日,國內(nèi)社區(qū)開始傳播升級提醒。
總結(jié)
這是一個影響廣泛的漏洞。如果你的生產(chǎn)環(huán)境正在使用 Next.js 15/16 的 App Router,建議盡快完成升級。漏洞可被未認證攻擊者遠程利用,拖延升級會讓服務(wù)器暴露在風險之下。
升級過程通常只需幾分鐘,但能避免可能的重大安全風險。