Description
Gotenberg 8.31.0 before 8.38.0 contains a server-side request forgery vulnerability in IsPublicIP() that allows unauthenticated attackers to bypass private-IP deny-list protections using IPv6 zone identifiers. Attackers can append a zone such as %25eth0 to the unspecified address or blocked IPv6 prefixes in downloadFrom, webhook, or Chromium/LibreOffice URLs to reach internal services and read responses in the returned PDF.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gotenberg | gotenberg | 8.31.0 – < 8.38.0 | 8.38.0 |
References
- GitHub Security Advisory (GHSA-fqg9-x2xw-5crx) vendor-advisory
- https://github.com/gotenberg/gotenberg/commit/8e850b1c932452627fba397f2005dd6fd57b9617 patch
- gotenberg v8.38.0 Release Notes release-notes
- https://github.com/gotenberg/gotenberg/blob/v8.37.0/pkg/gotenberg/outbound.go#L112-L142 technical-description
- VulnCheck Advisory: Gotenberg 8.31.0 before 8.38.0 SSRF via IPv6 Zone Identifiers in IsPublicIP third-party-advisory