CVE-2026-55156 Token Optimizer MCP 路径遍历漏洞
影响未授权攻击者可读取服务器上任意 .jsonl 文件
token-optimizer-mcp 的仪表盘 HTTP 服务在 5.1.0 之前版本中,/api/session-summary 与 /api/session-events 两个接口缺少认证中间件,任何可访问网络的客户端均可无凭据调用。这两个处理函数将调用方传入的 sessionId 参数直接拼接进文件系统路径,导致路径穿越,可读取服务器上任意 .jsonl 文件。
影响范围
token-optimizer-mcp 5.1.0 之前的版本;具体受影响版本范围暂无更细公开信息。
漏洞详情
漏洞类型为路径穿越(目录遍历)导致的未授权文件读取。成因是接口未做身份认证,且把用户可控的 sessionId 直接经 path.join 拼入文件路径,Node.js 在解析时会规范化 .. 路径段。攻击者只需构造包含 ../ 的 sessionId 请求参数,即可跳出预期目录读取任意 .jsonl 文件。
利用条件与风险
利用前提是攻击者能通过网络访问该仪表盘 HTTP 服务,无需任何凭据,利用门槛低;但仅能读取 .jsonl 文件,且 CVSS 为 5.3,实际危害以信息泄露为主。
修复建议
官方已在 5.1.0 版本修复,建议升级至 5.1.0 或更高版本;临时缓解措施包括限制该 HTTP 服务的网络访问范围、避免将其暴露于不可信网络。
Token Optimizer MCP measures token savings per AI coding agent, optimizes context, and shares a live local knowledge graph across 16 CLI clients. Prior to version 5.1.0, the dashboard HTTP server in token-optimizer-mcp exposes /api/session-summary and /api/session-events with no authentication middleware — any network-accessible client can reach them without credentials. Both handlers concatenate the caller-supplied sessionId query parameter directly into a filesystem path via path.join, and Node.js normalizes .. segments at resolution time, allowing an unauthenticated attacker to read any .jsonl file reachable from the server’s filesystem. This issue has been patched in version 5.1.0.