CVE-2026-44661python-utcp是UTCP协议的Python实现。在1.1.3版本之前,其utcp-http插件存在盲服务端请求伪造(SSRF)漏洞。该漏洞源于手动发现与工具调用之间的信任边界不一致。虽然`register_manual()`函数会对发现URL进行HTTPS或回环地址的验证,但在`call_tool()`等函数调用时,直接重用已解析的URL且未重新验证。此外,OpenAPI转换器盲目信任攻击者托管的规范中声明的服务器地址。攻击者可利用此漏洞,通过在合法HTTPS端点上托管恶意OpenAPI规范,诱导服务器向内部服务(如127.0.0.1或元数据服务)发起请求,从而造成信息泄露。
该漏洞的核心逻辑缺陷在于OpenAPI转换器对规范中`server[0].url`字段的盲目信任。在正常的处理流程中,`register_manual()`函数负责验证用户提供的发现URL,确保其符合HTTPS或特定回环地址的白名单要求。然而,验证通过后,系统解析OpenAPI内容时,并未对规范内部定义的服务器地址进行二次校验。当攻击者调用`call_tool()`、`call_tool_streaming()`或使用SSE协议时,系统直接复用了`tool_call_template.url`,该值直接取自OpenAPI规范中的声明。攻击者只需在合法的HTTPS服务器上托管一份精心构造的规范文件,将`server`字段设置为内网敏感地址(如`http://127.0.0.1:9090`或云主机元数据接口`http://169.254.169.254`),即可诱导受害者在执行工具操作时,向这些内部地址发起HTTP请求。这种信任边界的不一致使得攻击者能够利用受害者的服务器作为跳板,探测或攻击内网基础设施,造成敏感信息泄露。