React Router文件会话存储路径遍历漏洞深度分析

本文详细分析了CVE-2025-61686漏洞的技术细节,涉及React Router和Remix框架中文件会话存储的路径遍历问题。当使用未签名的Cookie配置时,攻击者可尝试读写指定目录外的文件,具体影响取决于服务器进程权限。文章包含漏洞描述、受影响版本、解决方案和相关的CWE/CAPEC分类信息。

概述

CVE-2025-61686是一个在React Router和Remix框架中发现的路径遍历漏洞,CVSS评分为9.1(严重级别)。该漏洞存在于使用createFileSessionStorage()函数且配置了未签名Cookie的场景中,允许攻击者尝试读写会话文件目录之外的文件位置。

漏洞详情

受影响的产品和版本

  • @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或更高版本

技术背景

CWE分类

该漏洞与以下通用缺陷枚举(CWE)相关联:

  • CWE-22:对路径名到受限目录的限制不当(路径遍历)

攻击模式(CAPEC)

以下常见攻击模式枚举和分类(CAPEC)描述了攻击者可能利用此漏洞弱点的常见属性和方法:

  • CAPEC-64:组合使用斜杠和URL编码绕过验证逻辑
  • CAPEC-76:操纵Web输入到文件系统调用
  • CAPEC-78:在替代编码中使用转义斜杠
  • CAPEC-79:在替代编码中使用斜杠
  • CAPEC-126:路径遍历

时间线

  • 发布日期:2026年1月10日 03:15
  • 最后修改日期:2026年1月10日 03:15
  • 是否可远程利用:是
  • 信息来源:security-advisories@github.com

参考资源

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计