CVE-2025-66416CVE-2025-66416是Model Context Protocol (MCP) Python SDK中的一个高危安全漏洞,CVSS评分8.1。该漏洞影响1.23.0之前的所有版本,源于HTTP-based MCP服务器默认未启用DNS重绑定保护机制。当开发者使用FastMCP框架创建HTTP或SSE传输的本地服务器,且未配置TransportSecuritySettings时,攻击者可通过恶意网站利用DNS重绑定技术绕过浏览器同源策略,向本地MCP服务器发起未授权请求。此漏洞可导致攻击者冒充用户身份调用MCP服务器暴露的工具或访问受限资源,窃取敏感数据或执行未授权操作。值得注意的是,使用stdio传输的服务器不受此漏洞影响,但本地运行HTTP服务器且无认证配置违反了MCP安全最佳实践。官方已在1.23.0版本中修复此问题,建议所有用户立即升级。
该漏洞的核心问题在于MCP Python SDK在处理HTTP传输时缺少DNS重绑定保护。当MCP服务器以HTTP模式运行在localhost时,浏览器同源策略本应阻止跨域请求,但DNS重绑定技术可绕过此限制。攻击者首先注册一个恶意域名,指向攻击者控制的服务器,该服务器响应带有极短TTL的DNS记录。受害者访问攻击页面后,DNS解析指向攻击者服务器,随后攻击者通过JavaScript将域名快速切换指向127.0.0.1。此时浏览器的同源检查基于域名而非IP地址,使得来自攻击者页面的JavaScript代码能够向本地MCP服务器发起请求。由于MCP协议支持工具调用和资源访问,攻击者可利用用户会话权限执行敏感操作,如读取本地文件、执行系统命令等。漏洞利用前提条件包括:目标主机运行未修复的MCP服务器、使用HTTP传输、本地访问且无认证保护。