CVE-2025-66414CVE-2025-66414是Model Context Protocol (MCP) TypeScript SDK中的一个安全漏洞。该SDK是用于构建MCP服务器和客户端的官方TypeScript开发工具包。在1.24.0版本之前,当使用HTTP-based服务器(StreamableHTTPServerTransport或SSEServerTransport)且未显式启用DNS重绑定保护(enableDnsRebindingProtection)时,运行在localhost上的MCP服务器容易受到DNS重绑定攻击。由于HTTP服务器默认未启用DNS重绑定保护,恶意网站可以利用DNS重绑定技术绕过浏览器的同源策略安全限制,向本地MCP服务器发送请求。这可能导致攻击者在特定情况下代表用户调用MCP服务器暴露的工具或访问资源。值得注意的是,根据MCP安全最佳实践,不建议在本地运行无认证的HTTP-based MCP服务器。此漏洞不影响使用stdio传输协议的服务器。该问题已在1.24.0版本中得到修复。
DNS重绑定攻击是一种绕过同源策略的技术,攻击者通过精心构造的域名将受害者浏览器引导至攻击者控制的DNS服务器。第一次DNS解析返回攻击者服务器的IP地址,后续请求时DNS TTL过期后返回内部网络地址(如127.0.0.1),从而绕过浏览器同源策略限制访问本地服务。在MCP TypeScript SDK中,当开发者使用StreamableHTTPServerTransport或SSEServerTransport创建HTTP服务器时,如果未显式设置enableDnsRebindingProtection为true,服务器不会验证请求来源的Host头部是否属于合法域名。攻击者可以注册一个恶意域名,配置DNS记录使其在短时间内从外部IP切换到127.0.0.1,诱使受害者访问该恶意页面后,浏览器会自动向本地MCP服务器发送请求。攻击者可通过JavaScript脚本利用fetch或XMLHttpRequest发起跨域请求,调用MCP服务器暴露的各种工具(如文件系统访问、命令执行等)。MCP协议支持多种功能调用,缺乏认证的服务器在遭受DNS重绑定攻击时将完全暴露其功能接口。