React4Shell 漏洞:保護 Web 伺服器免受 CVE-2025-55182 攻擊

數百萬基於 React 與 Next.js 的網站曝露於一個易於利用的漏洞,攻擊者可藉此完全接管伺服器。以下將說明如何檢查伺服器是否受影響,以及如何保護企業 Web 資產。


CVE-2025-55182 — React 與 Next.js 的重大漏洞

12 月 3 日,官方公布了嚴重漏洞 CVE-2025-55182(CVSSv3 分數 10)。此漏洞存在於 React Server Components(RSC),以及許多相關專案與框架中,包括:Next.js、React Router RSC preview、Redwood SDK、Waku,以及 RSC 插件 Vite 與 Parcel

該漏洞允許任何未經認證的攻擊者向受影響伺服器發送一個請求,即可在伺服器上執行任意程式碼。由於全球有數千萬個網站(包括 Airbnb、Netflix)使用 React 或 Next.js,而約 39% 的雲端基礎架構中也存在受影響版本,因此此次攻擊的潛在規模極為嚴重,必須立即採取防護措施。

針對 Next.js 的漏洞原本分配了另一個編號 CVE-2025-66478,但後來被視為重複,因此 Next.js 也同樣屬於 CVE-2025-55182


React4Shell 漏洞的運作方式

React 是用來建立 Web 應用程式使用者介面的 JavaScript 函式庫。自 2020 年 React 18 推出 RSC(React Server Components)後,部分頁面組裝工作從瀏覽器移到了伺服器端。網頁程式碼可以從瀏覽器呼叫 React 函數並在伺服器上執行,回傳結果後插入頁面,提升網站效能,且省去瀏覽器載入無用程式碼。

RSC 將應用程式分成「伺服器元件」與「用戶端元件」:

  • 伺服器元件:能執行伺服器操作(例如資料庫查詢、抓取秘密資料、運算等)。
  • 用戶端元件:負責互動性並在使用者端執行。

兩者之間透過名為 Flight 的輕量 HTTP 協議來傳輸序列化資料。

漏洞位置

CVE-2025-55182 位於 Flight 請求的處理流程中,具體來說是 不安全的資料反序列化。以下 React Server Components 套件版本受影響:

  • react-server-dom-parcel
  • react-server-dom-turbopack
  • react-server-dom-webpack

其版本範圍為:

  • React RSC:19.0.0、19.1.0、19.1.1、19.2.0
  • Next.js:15.0.4、15.1.8、15.2.5、15.3.5、15.4.7、15.5.6、16.0.6

攻擊者只需向伺服器發送一個簡單的 HTTP 請求,甚至不需要任何身份驗證,便可以 React 的權限在伺服器上啟動任意程式。

目前尚未出現公開的攻擊案例,但專家一致認為攻擊可能隨時大規模爆發。Wiz 表示,他們的 RCE 測試 exploit 幾乎 100% 可成功利用。GitHub 上已有初版 exploit,因此攻擊者極容易快速仿製並啟動大規模攻擊。

許多基於舊版 React 或未啟用 RSC 的專案不受影響。但若使用新版 React 的預設設定(例如 create-next-app 建立的專案),即使未使用伺服器功能,也很可能仍處於脆弱狀態。


如何防止 CVE-2025-55182 的利用

  1. 立即更新
  • React:更新至 19.0.1、19.1.2、19.2.1
  • Next.js:更新至 15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7

React Blog 提供針對 React Router、Expo、Redwood SDK、Waku 等專案的詳細更新指引。


  1. 雲端服務供應商的保護

各大供應商已針對此漏洞推出 WAF 規則:

  • Akamai:為 App & API Protector 用戶提供規則
  • AWS:標準 AWS WAF 規則內含防護,但需手動啟用
  • Cloudflare:所有用戶(包括免費用戶)皆受保護,只要流量經 Cloudflare WAF;商務與企業用戶需確認規則已啟用
  • Google Cloud:Cloud Armor 已自動套用規則(Firebase Hosting / App Hosting
  • Vercel:規則自動套用

提醒:WAF 只能爭取時間,仍需立即更新 RSC


  1. 保護自行架設的 Web 伺服器

套用 WAF / 防火牆偵測規則

大多數安全廠商已推出防護規則。若需要,也可參考官方公布的惡意 POST 請求樣式,自行制定阻擋規則。

限制伺服器端點的存取

若無法精準分析流量,可:

  • 找出所有啟用 RSC 的伺服器端點
  • 將其存取範圍大幅縮小
  • 內部服務:阻擋所有不可信 IP
  • 公開服務:加強 IP 信譽評估與 request rate 限制

安裝 EPP / EDR

如在伺服器端部署端點防護(EPP)或進階威脅偵測工具(EDR),可協助偵測 React 伺服器的異常行為,阻止漏洞被進一步利用。


  1. 深度調查與事件回應

雖尚未確認有野外攻擊案例,但不排除已遭利用。建議:

  • 檢查網路流量記錄與雲端環境日誌
  • 若發現可疑請求,需全面調查與回應
  • 必要時重置伺服器中的所有金鑰與秘密資訊(如 .env、CI/CD token

優先檢查可能的攻擊跡象:

  • 探索伺服器環境(reconnaissance
  • 搜尋機密檔案(.env、金鑰、token
  • 植入 web shell

資料來源 : https://www.kaspersky.com/blog/react4shell-vulnerability-cve-2025-55182/54915/


 

Comments are closed.

Up ↑

探索更多來自 卡巴斯基部落格 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading