React Router 漏洞可導致內(nèi)容偽造與數(shù)據(jù)篡改
React應用廣泛使用的路由庫React Router近期曝出重大安全漏洞,攻擊者可利用這些漏洞破壞內(nèi)容、污染緩存并篡改預渲染數(shù)據(jù)。
這些漏洞影響采用服務端渲染(SSR)和加載器(loaders)的Framework模式應用,攻擊者無需用戶交互或特殊權限即可遠程利用。
雖然官方已在7.5.2版本中修復這兩個漏洞,但仍有數(shù)百萬應用可能面臨風險。
強制SPA模式導致的緩存污染(CVE-2025-43864)
首個漏洞(CVSS評分7.5)允許攻擊者通過注入惡意標頭,強制服務端渲染(SSR)應用切換至單頁應用(SPA)模式。
安全公告指出:"向使用加載器的頁面請求添加X-React-Router-SPA-Mode標頭會引發(fā)錯誤,導致頁面完全損壞。"
當SSR應用被強制切換至SPA模式時,會生成顯著改變頁面內(nèi)容的錯誤。
該漏洞影響React Router 7.2.0至7.5.1版本。若系統(tǒng)啟用了緩存機制,被破壞的響應可能被存儲并分發(fā)給后續(xù)用戶,造成緩存污染并引發(fā)拒絕服務(DoS)狀況。
風險因素 | 詳情 |
受影響產(chǎn)品 | React Router(npm包)7.2.0至7.5.1版本 |
影響 | 拒絕服務(DoS) |
利用條件 | ? 應用需在Framework模式下運行React Router? 目標頁面需使用加載器? 無需特權或用戶交互? 攻擊者可通過網(wǎng)絡請求注入X-React-Router-SPA-Mode標頭 |
CVSS 3.1評分 | 7.5(高危) |
預渲染數(shù)據(jù)偽造(CVE-2025-43865)
第二個更嚴重的漏洞(CVSS評分8.2)允許攻擊者通過注入特制的X-React-Router-Prerender-Data標頭篡改預渲染數(shù)據(jù)。
該攻擊向量可完全偽造內(nèi)容,在HTML送達用戶前修改數(shù)據(jù)對象中的值。
公告稱:"通過向請求添加特定標頭,攻擊者可完全偽造預渲染數(shù)據(jù)內(nèi)容,修改傳遞給HTML的所有數(shù)據(jù)對象值。"
該漏洞影響范圍更廣(7.0至7.5.1版本),可能造成:
- 內(nèi)容篡改
- 緩存污染攻擊
- 根據(jù)客戶端數(shù)據(jù)處理實現(xiàn)方式,可能引發(fā)存儲型XSS漏洞
風險因素 | 詳情 |
受影響產(chǎn)品 | React Router(npm包)7.0至7.5.1版本 |
影響 | 使用任意數(shù)據(jù)進行緩存污染 |
利用條件 | ? 應用需在Framework模式下運行React Router? 目標頁面需使用加載器? 攻擊者可注入包含特制JSON的X-React-Router-Prerender-Data標頭? 無需特權或用戶交互 |
CVSS 3.1評分 | 8.2(高危) |
修復方案
React Router團隊已于2025年4月24日發(fā)布的7.5.2版本中修復這兩個漏洞,強烈建議所有用戶立即升級以消除安全風險。
使用React Router的組織應:
- 立即升級至7.5.2或更高版本
- 若運行自定義緩存層,需實施正確的標頭驗證
- 檢查應用日志中是否包含惡意標頭的攻擊嘗試
- 考慮實施內(nèi)容安全策略(CSP)提供額外防護
鑒于React Router在Web應用中的廣泛使用,這些漏洞需要開發(fā)團隊立即關注并處理。