模型上下文协议Python SDK存在安全漏洞:默认未启用DNS重绑定防护

本文披露了Model Context Protocol (MCP) Python SDK中存在的一个高危安全漏洞(CVE-2025-66416)。该漏洞源于HTTP服务器的DNS重绑定保护默认未启用,可能导致本地服务器资源被恶意网站访问。建议用户升级至1.23.0版本。

Model Context Protocol (MCP) Python SDK 默认未启用 DNS 重绑定保护 · CVE-2025-66416

漏洞详情

受影响的软件包

包管理器: pip 包名称: mcp (pip)

受影响版本

小于 1.23.0 的所有版本

已修复版本

1.23.0

漏洞描述

Model Context Protocol (MCP) Python SDK 在默认情况下未为基于 HTTP 的服务器启用 DNS 重绑定保护。当使用 FastMCP 配合流式 HTTP 或 SSE 传输在本地主机(localhost)上运行一个未经身份验证的基于 HTTP 的 MCP 服务器,并且未配置 TransportSecuritySettings 时,恶意网站可能利用 DNS 重绑定攻击绕过同源策略限制,向本地 MCP 服务器发送请求。这可能导致攻击者在这些特定情况下,能够代表用户调用 MCP 服务器暴露的工具或访问资源。

请注意: 根据 MCP 安全最佳实践,不建议在本地运行未经身份验证的基于 HTTP 的 MCP 服务器。此问题不影响使用 stdio 传输的服务器。

通过 FastMCP() 创建的服务器,当 host 参数为 127.0.0.1localhost 时,现已默认启用 DNS 重绑定保护。建议用户更新至 1.23.0 版本以获得此自动保护。对于直接使用 StreamableHTTPSessionManagerSseServerTransport 进行自定义低级别服务器配置的用户,如果在本地主机上运行未经身份验证的服务器,应明确配置 TransportSecuritySettings

参考信息

安全评分

严重等级

CVSS 总体评分: 7.6 / 10

CVSS v4 基础指标

可利用性指标:

  • 攻击向量 (Attack Vector): 网络
  • 攻击复杂度 (Attack Complexity):
  • 攻击前提条件 (Attack Requirements): 存在
  • 所需权限 (Privileges Required):
  • 用户交互 (User interaction): 被动

脆弱系统影响指标:

  • 机密性 (Confidentiality):
  • 完整性 (Integrity):
  • 可用性 (Availability):

后续系统影响指标:

  • 机密性 (Confidentiality):
  • 完整性 (Integrity):
  • 可用性 (Availability):

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

EPSS 分数

0.062% (第19百分位) 此分数估计了该漏洞在未来30天内被利用的概率。数据由 FIRST 提供。

相关弱点

弱点 CWE-350: 依赖反向DNS解析进行关键安全操作 产品对IP地址执行反向DNS解析以获取主机名并做出安全决策,但未正确确保该IP地址确实与该主机名关联。

弱点 CWE-1188: 资源的不安全默认初始化 产品使用默认值初始化或设置资源,该默认值本应由管理员更改,但默认值并不安全。

标识符

  • CVE ID: CVE-2025-66416
  • GHSA ID: GHSA-9h52-p55h-vw2f

源代码: modelcontextprotocol/python-sdk

此公告已被编辑。请查看历史记录。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计