跳到正文
原文
GitHub 安全公告·本站收录· 原文发表精选关注度35

mcp-sanitizer URL 净化器存在 SSRF 绕过漏洞,显式端口或括号 IPv6 可触达回环地址

mcp-sanitizer: URL sanitizer allows localhost/IPv6 loopback SSRF bypass via explicit port or bracketed IPv6

AI 导读

GitHub 安全公告披露,npm 包 mcp-sanitizer 1.4.0 之前的版本存在 SSRF 绕过漏洞,已在 1.4.0 修复。该库用于在 web_fetch、web_scraper 等 MCP 工具发起出站请求前校验 URL 参数,缺陷位于默认代码路径的 validateURLLocation() 函数:localhost 地址只要带显式端口(如 http://localhost:8080/)就不会被拦截;Node.js URL API 返回的 IPv6 主机名自带方括号(如 [::1]、[fe80::1]),与不带括号的字符串比较永不匹配,回环和链路本地地址因此漏拦。能控制 url 参数的攻击者可让服务器访问内部服务并读取响应,包括云元数据端点 http://169.254.169.254/ 和管理面板,可能泄露凭据、token 或敏感配置。

推荐理由

公告剖析了带端口和括号 IPv6 绕过 localhost 校验的两处根因并附端到端复现,用 URL 净化库把关 MCP 工具出站请求的团队可对照自查。

阅读原文github.com