CVE-2026-42592Gotenberg是一个基于Docker的无状态PDF生成API。在8.32.0版本之前,其FilterOutboundURL组件存在DNS重绑定漏洞。由于未固定解析的IP地址,攻击者可利用DNS短TTL特性绕过私有IP地址过滤。攻击者先返回公网IP通过检查,随后在Chromium发起连接时返回内网IP,从而诱导服务访问内部资源并将响应渲染为PDF返回。
该漏洞的核心在于Gotenberg的出站URL过滤机制与Chromium实际网络请求之间的时序竞争。当Gotenberg处理包含外部链接的PDF生成请求时,FilterOutboundURL会解析主机名并检查IP是否在私有地址黑名单中。然而,该函数仅检查IP但不保留解析结果。
攻击者控制恶意域名的DNS服务器,设置极短的TTL。在Gotenberg第一次解析时,DNS返回一个合法的公网IP地址,从而通过安全检查。随后,当Chromium实际发起网络请求时,由于TTL已过期,它会再次进行DNS查询。此时DNS服务器返回一个内网IP地址(如127.0.0.1或10.0.0.x)。
尽管CDP的Fetch.requestPaused处理器会再次检查,但它也进行了独立的DNS解析,无法完全消除与Chromium实际TCP连接之间的时间窗口。最终,Chromium连接到攻击者指定的内网地址,获取敏感数据(如元数据端点、云凭证等),并将其渲染在生成的PDF中返回给攻击者。