IPBUF安全漏洞报告
English
CVE-2026-40280 CVSS 7.5 高危

CVE-2026-40280 Gotenberg SSRF漏洞

披露日期: 2026-05-05

漏洞信息

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

相关标签

SSRFGotenberg安全绕过信息泄露CVE-2026-40280

漏洞概述

Gotenberg 8.30.1及更早版本存在安全绕过漏洞,导致服务器端请求伪造(SSRF)。由于默认私有IP拒绝列表的正则表达式区分大小写,攻击者只需将URL方案大写(如HTTP://)即可绕过安全检查。这使得未经身份认证的攻击者能访问内部网络服务、私有IP及云元数据端点,造成敏感信息泄露。

技术细节

漏洞源于Gotenberg在`--webhook-deny-list`和`--api-download-from-deny-list`标志中,使用了区分大小写的正则表达式`^https?://`来过滤URL方案。Go语言标准库中的`net/url.Parse()`函数在建立出站TCP连接前,会自动将URL方案标准化为小写。攻击者利用这一处理差异,通过使用大写字母构造URL(例如`HTTP://169.254.169.254`),可以欺骗正则匹配引擎使其认为URL不匹配黑名单模式,从而放行请求。随后,底层网络库正常解析并发起对内部敏感地址(如AWS或Azure的元数据服务)的请求。该漏洞是对之前补丁(CVE-2026-27018)的绕过。

攻击链分析

STEP 1
发现目标
识别出运行版本为8.30.1或更早的Gotenberg实例。
STEP 2
构造恶意URL
攻击者构造指向内网敏感资源(如云元数据服务169.254.169.254)的URL,并将协议头大写(例如HTTP://)。
STEP 3
绕过安全检查
服务器端的正则表达式(^https?://)未能匹配到大写的HTTP://,请求通过验证。
STEP 4
发起内网请求
Go底层库将URL方案标准化为小写,并向内网目标发起连接。
STEP 5
获取敏感信息
成功获取云实例元数据或其他内部服务的信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit by capitalizing the scheme to bypass the case-sensitive regex curl -X POST http://target:3000/forms/chromium/convert/url -F "url=HTTP://169.254.169.254/latest/meta-data/"

影响范围

Gotenberg <= 8.30.1

防御指南

临时缓解措施
建议立即升级至8.31.0版本。若无法立即升级,应手动配置拒绝列表,将正则表达式修改为不区分大小写(例如添加(?i)标志),以防止攻击者通过大小写变换绕过过滤。

参考链接

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