CVE-2025-11287CVE-2025-11287 是 samanhappy MCPHub 0.9.10 及之前版本中存在的一个高危安全漏洞。该漏洞位于 MCPHub 项目的 SSE(Server-Sent Events)服务模块中,具体影响 `src/services/sseService.ts` 文件中的 `handleSseConnection` 函数。该函数在处理 SSE 连接请求时未能正确实施身份验证机制,导致攻击者可以在未经身份验证的情况下远程访问受保护的资源和功能。
MCPHub 是一个用于管理和协调 MCP(Model Context Protocol)服务的中间件平台,广泛应用于 AI 代理与外部工具集成的场景中。由于 SSE 连接是 MCPHub 客户端与服务端进行实时通信的核心通道,认证机制的缺失使得任何能够访问网络的用户都可以建立 SSE 连接,进而访问敏感操作接口。
该漏洞的 CVSS 3.1 评分为 7.3,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需权限(PR:N)和用户交互(UI:N),对机密性、完整性和可用性均存在低程度影响。虽然单项影响评级为低,但综合来看,由于无需认证且可远程利用,该漏洞仍构成严重的安全威胁。值得注意的是,漏洞发现者在披露前已联系厂商,但厂商未做出任何回应,且漏洞利用代码已公开传播,进一步增加了风险等级。
该漏洞的核心问题在于 `src/services/sseService.ts` 文件中的 `handleSseConnection` 函数缺少必要的身份验证检查。SSE(Server-Sent Events)是一种允许服务器向客户端推送实时更新的技术,在 MCPHub 中用于维护客户端与服务端之间的持久连接。
正常情况下,SSE 连接处理器应当在建立连接之前验证客户端的身份凭证(如 API Key、Token 等)。然而,`handleSseConnection` 函数未对传入的请求进行任何身份验证检查,直接接受并处理连接请求。攻击者只需向 MCPHub 的 SSE 端点发送 HTTP 请求,即可建立未经认证的连接。
利用方式如下:
1. 攻击者通过网络访问 MCPHub 的 SSE 服务端点(通常为 `/sse` 或类似路径)。
2. 构造符合 SSE 协议的 HTTP 请求,无需提供任何身份验证凭证。
3. 服务端 `handleSseConnection` 函数接收请求后,由于缺少认证检查,直接建立 SSE 连接。
4. 通过该连接,攻击者可以调用 MCPHub 提供的各类管理功能,包括但不限于服务注册、配置修改、数据查询等敏感操作。
由于该漏洞无需任何前置条件(无需权限、无需用户交互),且攻击复杂度极低,任何能够网络访问到 MCPHub 服务的攻击者均可利用此漏洞。漏洞利用代码已在 GitHub 上公开(参考链接:https://github.com/August829/YU1/issues/8),进一步降低了利用门槛。