CVE-2025-61685CVE-2025-61685是Mastra框架中存在的一个目录遍历(Directory Traversal)漏洞,CVSS评分为6.5,属于中危级别。该漏洞影响Mastra 0.13.8至0.13.20-alpha.0版本,已在0.13.20版本中修复。
Mastra是一个用于构建AI代理和助手的TypeScript框架,广泛应用于AI应用开发领域。该漏洞源于框架代码中虽然包含防止路径遍历的安全检查机制,用于保护文件内容的读取操作,但该检查在后续用于查找目录建议(directory suggestions)的逻辑中被有效绕过。攻击者可以利用此缺陷列出用户文件系统上任意目录的内容,包括用户的家目录,从而暴露文件系统结构的敏感信息。
根据CVSS 3.1向量分析,该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N)。漏洞对机密性影响为高(C:H),对完整性和可用性无影响(I:N/A:N)。这意味着经过身份验证的低权限用户可以通过远程方式获取服务器文件系统的大量敏感信息,可能导致配置文件、密钥文件、用户数据等敏感信息泄露。
该漏洞的核心问题在于Mastra框架的文件系统操作代码中存在逻辑缺陷。具体技术原理如下:
1. **安全检查机制存在**:Mastra框架的代码中包含用于防止路径遍历的安全检查逻辑,主要目的是保护文件内容读取操作免受目录遍历攻击。这种检查通常会验证用户提供的路径是否在允许的目录范围内。
2. **检查被后续逻辑绕过**:虽然安全检查存在于文件读取路径上,但在后续用于查找目录建议(directory suggestions)的功能代码中,该检查并未被正确应用或被有效绕过。这意味着当系统尝试为用户提供目录自动补全或建议功能时,攻击者可以提交包含特殊路径序列(如../)的输入来访问预期目录之外的路径。
3. **利用方式**:攻击者通过精心构造的请求,利用目录建议功能的API端点,提交包含目录遍历序列(如`../../../etc/`或`~/`等)的路径参数。由于安全检查在此逻辑路径上未生效,服务器将返回目标目录的内容列表,包括文件名、子目录等元数据信息。
4. **影响范围**:由于该漏洞允许列出任意目录的内容,攻击者可以枚举文件系统结构,获取敏感配置文件(如.env文件、SSH密钥、数据库配置等)的存在信息,进而为后续攻击提供信息支持。
该漏洞已通过GitHub安全公告GHSA-xh92-rqrq-227v披露,修复提交为7f2b528ba82db512d68832d2f8ad6cbc8bb46cd4。