CVE-2026-34742CVE-2026-34742 是 Model Context Protocol (MCP) Go SDK 中发现的一个高危安全漏洞。在版本 1.4.0 之前,该 SDK 默认未为基于 HTTP 的服务器(如使用 StreamableHTTPHandler 或 SSEHandler)启用 DNS 重绑定保护。如果此类服务器在本地主机上运行且未配置身份验证,攻击者可以通过恶意网站利用 DNS 重绑定攻击绕过同源策略(SOP)限制。这使得攻击者能够代表用户向本地 MCP 服务器发送恶意请求,从而调用工具或访问服务器暴露的资源,可能导致敏感信息泄露或本地系统被操控。
该漏洞的根本原因是 Go MCP SDK 在处理 HTTP 请求时,缺乏对请求来源的 DNS 解析生命周期进行严格验证。攻击者首先诱导用户访问恶意网页,该网页包含针对攻击者控制域名的脚本。攻击者控制该域名的 DNS 解析,初始阶段将域名解析到攻击者的服务器 IP,获取浏览器的同源信任。随后,DNS 记录被迅速切换为本地回环地址(127.0.0.1)。由于浏览器允许已建立的连接在一定条件下复用或对 DNS 变更存在处理延迟,请求被实际转发到受害者本地的 MCP 服务端口。由于受影响版本的 SDK 未启用 DNS 重绑定保护且未强制认证,攻击者构造的 HTTP 请求即可被本地服务器接受,进而执行 MCP 协议定义的工具调用或资源访问操作。