CVE-2025-59057: CWE-79: React Router框架模式下输入净化不当导致的跨站脚本漏洞
严重性:高 类型:漏洞 CVE:CVE-2025-59057
React Router 是 React 的一个路由库。在 @remix-run/react 版本 1.15.0 至 2.17.0 以及 react-router 版本 7.0.0 至 7.8.2 中,当 React Router 在框架模式下使用 meta()/<Meta> API 生成 script:ld+json 标签时存在一个 XSS 漏洞。如果使用不受信任的内容来生成此标签,可能导致在服务器端渲染期间执行任意 JavaScript。如果应用程序使用声明式模式(<BrowserRouter>)或数据模式(createBrowserRouter/<RouterProvider>),则不受此漏洞影响。此问题已在 @remix-run/react 版本 2.17.1 和 react-router 版本 7.9.0 中得到修复。
技术总结
CVE-2025-59057 是一个跨站脚本漏洞,归类于 CWE-79,存在于广泛使用的 React 应用程序路由解决方案 React Router 库中。该漏洞专门影响在框架模式下使用的 meta() 和 <Meta> API,这些 API 在服务器端渲染期间生成 script:ld+json 标签。这些标签旨在嵌入 JSON-LD 格式的结构化数据,用于 SEO 和其他目的。然而,如果使用不受信任或未经适当净化的输入来生成这些标签,可能导致输入净化不当,使攻击者能够注入任意 JavaScript 代码。该代码在受害者浏览器的上下文中执行,可能导致数据窃取、会话劫持或其他恶意行为。
该漏洞不影响使用声明式模式(<BrowserRouter>)或数据模式(createBrowserRouter/<RouterProvider>)的应用程序,这些模式处理路由的方式不同,并且不会以相同的方式生成易受攻击的脚本标签。
受影响版本为 @remix-run/react 从 1.15.0 到 2.17.0,以及 react-router 从 7.0.0 到 7.8.2。该问题公开披露时的 CVSS v3.1 评分为 7.6,表示高严重性,攻击向量为网络,攻击复杂度低,需要低权限(PR:L)和用户交互(UI:R)。范围已更改(S:C),对机密性影响高,对完整性影响低,对可用性无影响。截至发布日期,尚未有野外已知漏洞利用的报告。该漏洞已在 @remix-run/react 2.17.1 和 react-router 7.9.0 中修复,强烈建议用户升级到这些版本或更高版本以降低风险。
潜在影响
对于欧洲组织而言,此漏洞构成了重大风险,特别是对于那些部署了使用受影响版本 React Router 框架模式的 React 应用程序的组织。成功利用可能导致在用户浏览器中执行任意 JavaScript,从而窃取敏感数据,如身份验证令牌、个人信息或公司机密。这也可能促进进一步的攻击,如会话劫持或网络钓鱼。对机密性的影响很高,而完整性由于可能操纵客户端数据而受到中等影响。可用性不受影响。
鉴于 React 在欧洲企业中的广泛采用,包括金融、医疗保健和电子商务等行业,风险相当大。根据 GDPR 处理敏感或受监管数据的组织必须特别警惕,因为漏洞利用可能导致数据泄露和监管处罚。低权限和用户交互的要求降低了攻击者的门槛,增加了威胁级别。尽管目前野外尚未发现漏洞利用,但公开披露和补丁的可用性要求采取迅速行动以防止潜在攻击。
缓解建议
欧洲组织应立即评估其使用的 React Router 和 @remix-run/react 库,以确定是否正在运行受影响版本(@remix-run/react 为 1.15.0 至 <2.17.1,react-router 为 7.0.0 至 <7.9.0)。主要的缓解措施是升级到修复后的版本:@remix-run/react 2.17.1 或更高版本,以及 react-router 7.9.0 或更高版本。
此外,组织应审核其在框架模式下对 meta() 和 <Meta> API 的使用,确保没有使用不受信任或用户提供的输入来生成 script:ld+json 标签。对可能嵌入到这些标签中的任何数据实施严格的输入验证和净化。采用内容安全策略(CSP)标头来限制脚本执行源,这可以减轻 XSS 攻击的影响。进行彻底的安全测试,包括针对 SSR 和元标签生成的自动扫描和手动代码审查。教育开发人员了解在 SSR 上下文中不当输入处理的风险。最后,监控应用程序日志和用户报告,寻找可能表明攻击尝试的可疑活动迹象。
受影响国家
德国、法国、英国、荷兰、瑞典、意大利、西班牙
来源: CVE Database V5 发布日期: 2026年1月10日星期六