IPBUF安全漏洞报告
English
CVE-2026-41686 CVSS 4.4 中危

CVE-2026-41686 Anthropic TypeScript SDK权限不当漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-41686
漏洞类型
权限管理不当
CVSS评分
4.4 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Anthropic TypeScript SDK

相关标签

权限管理不当AnthropicTypeScriptSDK本地攻击信息泄露

漏洞概述

Anthropic TypeScript SDK的0.79.0至0.91.1版本存在安全漏洞。其BetaLocalFilesystemMemoryTool组件在创建内存文件和目录时,错误地使用了Node.js的默认模式(文件0o666,目录0o777)。这导致在标准umask系统中文件全局可读,而在宽松umask(如Docker)环境下更是全局可写。本地攻击者可借此读取持久化的敏感代理状态,或在容器化部署中修改内存文件,进而影响AI模型的后续行为。

技术细节

该漏洞的核心在于Anthropic TypeScript SDK中BetaLocalFilesystemMemoryTool的权限配置不当。组件在文件系统操作时,未显式指定安全权限,而是采用了Node.js的默认模式:文件权限设置为0o666,目录权限设置为0o777。在大多数Linux系统默认umask(022)下,文件实际权限为644,虽可读但风险可控;然而在许多Docker基础镜像中,umask常被设为0,导致文件保持666权限,即所有用户均可读写。攻击者若能获得本地文件系统访问权限(如多租户环境或容器逃逸),即可读取Agent的敏感对话状态,甚至通过篡改内存文件注入恶意数据,操纵模型逻辑,造成严重的信息泄露与完整性风险。

攻击链分析

STEP 1
1. 侦察
攻击者确认目标系统运行了存在漏洞的Anthropic TypeScript SDK版本(0.79.0 - 0.91.1)。
STEP 2
2. 获取本地访问
攻击者设法获得对底层文件系统的访问权限,例如在共享主机环境或通过容器逃逸。
STEP 3
3. 定位敏感文件
攻击者遍历文件系统,定位到由BetaLocalFilesystemMemoryTool创建的内存文件存储目录。
STEP 4
4. 利用漏洞
攻击者利用宽松的文件权限(全局可读/可写),读取敏感的Agent状态数据,或修改内存文件内容以影响后续模型行为。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const fs = require('fs'); const path = require('path'); // Simulating the vulnerable behavior of BetaLocalFilesystemMemoryTool const vulnerableDir = './vulnerable_memory'; const vulnerableFile = path.join(vulnerableDir, 'agent_state.json'); // Create directory with 0o777 (vulnerable default) if (!fs.existsSync(vulnerableDir)) { fs.mkdirSync(vulnerableDir, 0o777); console.log(`[+] Created directory with mode: 0o777`); } // Write file with 0o666 (vulnerable default) fs.writeFileSync(vulnerableFile, JSON.stringify({ memory: 'Secret data' }), { mode: 0o666 }); console.log(`[+] Created file with mode: 0o666`); // Check actual permissions const dirStats = fs.statSync(vulnerableDir); const fileStats = fs.statSync(vulnerableFile); // Parse mode (remove file type bits) const dirMode = (dirStats.mode & parseInt('777', 8)).toString(8); const fileMode = (fileStats.mode & parseInt('777', 8)).toString(8); console.log(`[!] Directory actual permissions: ${dirMode}`); console.log(`[!] File actual permissions: ${fileMode}`); // Verify vulnerability if (dirMode === '777' || fileMode === '666') { console.log('[!] VULNERABILITY CONFIRMED: Permissions are too loose.'); } else { console.log('[?] Permissions might be restricted by system umask.'); } // Cleanup fs.unlinkSync(vulnerableFile); fs.rmdirSync(vulnerableDir);

影响范围

Anthropic TypeScript SDK >= 0.79.0, < 0.91.1

防御指南

临时缓解措施
在未升级SDK前,建议将系统或容器运行环境的umask设置为022或更严格(如077),并手动修正已生成的内存文件目录权限,确保仅特定用户可读写。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表