GitHub Advisoryadvisory · Go

GHSA-5q7p-7jgv-ww56 Gotenberg has case-insensitive URL scheme that bypasses webhook and downloadFrom deny-list SSRF protection

HIGH Published 2026-04-30 Modified 2026-05-08 Official page ↗
Aliases
CVE-2026-40280
Ecosystem
Go
Packages
github.com/gotenberg/gotenberg/v8
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
Weaknesses
CWE-918
Reviewed
2026-04-30

Affected packages

• Go github.com/gotenberg/gotenberg/v8: < 8.31.0 → fixed in 8.31.0

Description

Vulnerability Details CWE: CWE-918 - Server-Side Request Forgery (SSRF) The default private-IP deny-lists for --webhook-deny-list and --api-download-from-deny-list use a case-sensitive regex (^https?://). Any uppercase URL scheme variant (HTTP://, HTTPS://, Http://) bypasses the pattern. Go's net/url.Parse() normalizes the scheme to lowercase when making the outbound TCP connection, so the connection succeeds normally. Affected: pkg/gotenberg/filter.go:FilterDeadline(), pkg/modules/webhook/webhook.go:42, pkg/modules/api/api.go:199. Confirmed in Docker: http://172.17.0.1:12345/ returns HTTP 403 (blocked), HTTP://172.17.0.1:12345/ returns HTTP 202 (bypassed, TCP connection attempted). Same pattern as CVE-2026-27018/GHSA-jjwv-57xh-xr6r but in newly added webhook+downloadFrom deny-lists (commit 3f01ca1, 2026-04-07). Affected versions: test' # Error is "Unable to download file" (connection refused), not "filter URL" — bypass confirmed ``` Impact An unauthenticated attacker can access internal network services (private IP ranges, loopback, link-local) that the deny-list was designed to block. The `downloadFrom` SSRF can exfiltrate content from internal services that respond with `Content-Disposition` headers. In cloud environments, this could allow access to instance metadata services (e.g., `HTTP://169.254.169.254/latest/meta-data/`). This bypasses the same security control that was patched in CVE-2026-27018. Fix Normalize the URL scheme to lowercase before passing to `FilterDeadline`, or compile deny-list regexes with the case-insensitive flag (`(?i)`). Vulnerable Code ```go // See description for details ``` Steps to Reproduce 1. Set up the application using the default configuration 2. See the vulnerability details above Impact This vulnerability may allow an attacker to compromise the application.

Related

Alias · CVE (1)

  • CVE-2026-40280 Gotenberg is an API-based document conversion tool. vulnerability

Weakness · CWE (1)

  • CWE-918 Server-Side Request Forgery weakness

References