CVE-2025-61686: CWE-22: 对路径名限制不当导致的路径遍历漏洞(remix-run react-router)
严重性: 严重 类型: 漏洞 CVE编号: CVE-2025-61686
描述
React Router是React的一个路由器。在@react-router/node 7.0.0至7.9.3版本、@remix-run/deno 2.17.2之前版本以及@remix-run/node 2.17.2之前版本中,如果使用了来自@react-router/node(或Remix v2中的@remix-run/node/@remix-run/deno)的createFileSessionStorage()函数且配合使用未签名的cookie,攻击者可以导致会话尝试在指定的会话文件目录之外进行读取/写入。攻击的成功与否取决于Web服务器进程访问这些文件的权限。读取的文件无法直接返回给攻击者。会话文件读取仅在文件符合预期的会话文件格式时才会成功。如果文件匹配会话文件格式,数据将被填充到服务器端会话中,但不会直接返回给攻击者,除非应用程序逻辑返回特定的会话信息。此问题已在@react-router/node 7.9.4版本、@remix-run/deno 2.17.2版本和@remix-run/node 2.17.2版本中得到修复。
技术分析总结
CVE-2025-61686是一个被归类为CWE-22(路径名限制不当导致的路径遍历)的严重安全漏洞,影响用于JavaScript/TypeScript Web应用的React Router和Remix Run框架。该缺陷存在于@react-router/node(7.0.0至7.9.3版本)、@remix-run/deno(2.17.2之前版本)和@remix-run/node(2.17.2之前版本)中的createFileSessionStorage()函数。当使用未签名的cookie时,攻击者可以操纵会话存储路径,以读取或写入指定会话目录之外的文件。发生此情况的原因是路径名未经过适当的净化或限制,允许遍历序列(例如../)突破预期的目录边界。此漏洞的利用取决于Web服务器进程的权限;如果服务器有权访问敏感文件,这些文件可能会被访问或覆盖。然而,除非文件符合预期的会话文件格式,否则无法直接向攻击者泄露文件内容;若符合格式,数据则可能被加载到服务器端会话中。这可能导致通过破坏会话数据而造成会话中毒或拒绝服务。该漏洞无需身份验证或用户交互,可通过网络远程利用。此问题已在@react-router/node 7.9.4、@remix-run/deno 2.17.2和@remix-run/node 2.17.2版本中修复。其CVSS v3.1评分为9.1(严重),反映了对完整性和可用性的高影响,且攻击复杂性低,无需特殊权限。
潜在影响
对于欧洲的组织而言,此漏洞对使用受影响版本React Router和Remix Run框架构建的Web应用程序构成重大风险。利用此漏洞可能允许攻击者通过操纵会话存储文件来破坏会话数据或导致拒绝服务,从而可能中断用户会话和应用程序可用性。虽然直接数据窃取有限,但根据应用程序逻辑,会话中毒可能导致未经授权的操作或权限提升。高度依赖Web应用的行业(如金融、电子商务、医疗保健和政府)中的组织可能面临运营中断和声誉损害。该漏洞易于利用且无需身份验证,增加了广泛攻击的风险,尤其是针对面向公众的应用程序。此外,如果Web服务器进程具有提升的文件系统权限,其影响可能扩展到会话文件之外的未授权文件修改,从而扩大攻击面。考虑到React和Remix在欧洲软件开发中的流行度,如果未及时应用补丁,许多组织可能受到影响。
缓解建议
欧洲的组织应立即升级到已修复的版本:@react-router/node 7.9.4或更高版本、@remix-run/deno 2.17.2或更高版本以及@remix-run/node 2.17.2或更高版本。除了升级之外,开发人员应审计会话管理代码,确保文件路径得到适当净化和限制在目标目录内。为Web服务器进程实施严格的文件系统权限,以最大程度减少对会话存储目录之外敏感文件的访问。采用具有自定义规则的运行时应用程序自我保护(RASP)或Web应用程序防火墙(WAF)来检测和阻止会话cookie值或相关输入中的路径遍历模式。对会话处理逻辑进行彻底测试,以验证损坏或恶意的会话数据不会导致权限提升或应用程序错误。监控应用程序日志中是否存在异常的会话文件访问模式或表明尝试利用的错误。最后,集成安全的编码实践和静态代码分析工具,以在未来开发中检测类似的路径遍历问题。
受影响国家
德国、法国、英国、荷兰、瑞典、意大利、西班牙
来源: CVE数据库 V5 发布日期: 2026年1月10日 星期六