Splunk MCP 服务器以明文记录认证令牌(CVE-2026-20205)
Splunk MCP Server 应用将用户的会话令牌和授权令牌以明文写入 _internal 索引——这是一个 CWE-532(日志中的机密信息)缺陷,使日志访问权变成令牌窃取。已在 v1.0.3 修复。
这是什么?
CVE-2026-20205 是 Splunk MCP Server 应用中的一个敏感信息泄露缺陷。该应用是让 LLM 代理通过 Model Context Protocol 查询 Splunk 部署的连接器。Splunk 于 2026 年 4 月 15 日发布了公告 SVD-2026-0407(缺陷编号 VULN-64757),评级为 CVSS 3.1 7.2(高危),向量为 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H,归类为 CWE-532(将敏感信息写入日志文件)。该缺陷归功于 Splunk 的 Charlie Huggard,并在 2026 年 6 月 Splunk 安全更新潮中再度受到关注。
简单地说:该应用将用户的会话令牌和授权令牌以明文写入 Splunk 的 _internal 索引。任何能读取该索引——或底层日志文件——的人都能收集属于其他用户的有效凭据。所有低于 1.0.3 的应用版本都受影响。
工作原理
这既不是巧妙的提示注入链,也不是内存破坏漏洞,而是行业里最古老的错误被移植到代理栈中:一个处理 bearer 凭据的服务把它们原样记录下来,而不是加以掩码。
MCP Server 应用在 MCP 客户端(代理)与 Splunk 之间充当中介。为此,它会处理各个用户专属的会话令牌和授权令牌。在日志记录路径上,这些值未经掩码就被写入了落入 _internal 索引的事件中:
# 泄露日志事件的概念形态(此处令牌已脱敏)
... mcp_tool=search user=analyst session_token=[REDACTED] authorization=Bearer [REDACTED] ...
无需特殊的利用代码。据 Splunk 和 SentinelOne 所述,攻击者通过普通手段即可获取令牌:
- 拥有可读取
_internal索引的角色,或高权限能力mcp_tool_admin;或 - 对 Splunk 主机上的日志文件具有本地读取权限。
默认情况下只有 admin 角色能读取 _internal,这使其停留在「高危」而非「严重」,也是向量中标注 PR:H 的原因。但这一前提很脆弱:许多真实部署为了排障或仪表盘而放宽了对 _internal 的访问,单个被攻陷或权限过大的账户就能把一次例行的日志查询变成凭据收集。随后,窃得的令牌可用于会话劫持、权限提升以及横向移动,进入被冒充用户可触及的系统。
为何重要
MCP 服务器正悄然成为代理部署中最敏感的组件:它位于自主模型与真实后端之间,并且几乎总是持有或转发认证材料。因此其日志卫生是一等的安全属性,而非事后才想到的细节。CWE-532 单独看很平常,但在 MCP 服务器中,它把一个低成本的原语——「读取一些日志」——转化为「冒充平台的其他用户」。
Splunk 一案也提醒人们,这类缺陷在整个生态中反复出现。该公告属于 2026 年一系列 Splunk 信息泄露 CVE 的一员,而「日志中的令牌」这一模式在仓促发布 MCP 连接器的地方屡屡重现。这一教训适用于你运行的任何 MCP 服务器、网关或代理:除非你已明确证明并非如此,否则应假设它接触的每个凭据最终都会被写到某处。
第二点是暴露窗口。由于泄露是被动且持久的,令牌可能已经躺在历史索引桶和归档日志里。给应用打补丁会阻止写入新的令牌,但对已被捕获的凭据无能为力——这正是应急响应中需要轮换而不仅仅是升级的原因。
防御
将 Splunk MCP Server 应用升级到 v1.0.3 或更高版本。 该修复在写入前对会话令牌和授权令牌进行掩码,封堵了写入路径(依据 SVD-2026-0407)。
轮换已暴露的令牌。 将通过 1.0.3 之前服务器使用过的任何会话/授权令牌视为可能已泄露。使活动会话失效并重新签发凭据;仅升级并不能清除已存在于 _internal 或归档日志中的令牌。
收紧对内部数据的访问。 将 _internal 索引仅限于管理员级角色,并审计/撤销那些并非确实需要 mcp_tool_admin 能力的账户。在 Splunk 日志目录上增加文件完整性监控,并对主机的本地文件系统访问进行隔离。
排查既往滥用。 审查针对 _internal 且过滤认证字段的搜索、从内部索引的批量导出,以及来自新位置或新设备的异常会话重用——这些正是 Splunk 和 SentinelOne 为此缺陷列出的指标。
对每一台 MCP 服务器应用这条长效规则。 在记录日志之前脱敏机密,而非之后;在可能的情况下让处理凭据的组件保持无网络、无静态机密的状态;并在投入生产前审查你的 MCP 连接器在每个日志级别输出的内容。一个转发令牌的「安全」工具,其安全性只取决于它最不起眼的那行调试日志。
状态
| 项目 | 详情 |
|---|---|
| CVE | CVE-2026-20205(CWE-532) |
| 公告 | Splunk SVD-2026-0407,发布于 2026-04-15 |
| 严重程度 | CVSS 3.1 7.2 高危(AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H) |
| 受影响 | Splunk MCP Server 应用,低于 1.0.3 的版本 |
| 已修复 | Splunk MCP Server 应用 v1.0.3 |
| 前提条件 | 对 _internal 的读取权限、mcp_tool_admin 能力,或本地日志访问权 |
| 致谢 | Charlie Huggard, Splunk |
| 行动 | 升级到 ≥ 1.0.3,轮换令牌,限制 _internal,审计 mcp_tool_admin |