CVE-2025-61686CVE-2025-61686是影响React Router生态系统的严重安全漏洞,CVSS评分高达9.1。该漏洞存在于@react-router/node 7.0.0至7.9.3版本、@remix-run/node 2.17.2之前版本以及@remix-run/deno 2.17.2之前版本中。漏洞的根本原因在于createFileSessionStorage()函数在处理未签名cookie时缺乏充分的路径验证机制。攻击者可以通过构造特殊的会话ID,利用路径遍历字符(如../)使会话系统尝试访问指定session文件目录之外的敏感文件。此漏洞具有低攻击复杂度且无需认证即可利用,对系统完整性和可用性造成严重影响。虽然机密性影响为低,但攻击者仍可通过精心设计的攻击链读取服务器上的敏感文件内容,并可能篡改会话数据。该漏洞已被官方修复,建议受影响的用户立即升级到最新版本。
该漏洞属于典型的路径遍历(Path Traversal)安全问题。在React Router的会话文件存储实现中,createFileSessionStorage()函数负责管理基于文件的会话数据。当使用未签名(unsigned)的cookie时,攻击者可以控制会话标识符(session ID),从而注入路径遍历序列。具体来说,攻击者将session ID设置为包含../的恶意路径,如../../etc/passwd,系统会直接使用该值拼接文件路径,而未进行安全校验。这允许攻击者读取服务器上的任意文件内容,只要web服务器进程具有相应的访问权限。需要注意的是,读取的文件必须符合会话文件的格式要求才能被成功解析和加载到会话对象中。此外,攻击者还可能利用此漏洞向敏感目录写入恶意内容,破坏系统完整性。修复方案采用符号链接验证、路径规范化检查以及强制使用签名cookie等多种防护措施。