CVE-2026-40280
Description
Gotenberg is an API-based document conversion tool. In versions 8.30.1 and earlier, the default private-IP deny-lists for the --webhook-deny-list and --api-download-from-deny-list flags use a case-sensitive regular expression (^https?://) to match URL schemes. Because Go's net/url.Parse() normalizes the scheme to lowercase before establishing the outbound TCP connection, an attacker can bypass the deny-list by simply capitalizing part of the URL scheme (e.g., HTTP://, HTTPS://, or Http://). This allows unauthenticated requests to reach internal network services, including private IP ranges, loopback addresses, and cloud instance metadata endpoints such as HTTP://169.254.169.254/latest/meta-data/. This bypasses the same security control that was patched in CVE-2026-27018. This issue has been fixed in version 8.31.0.
How to fix
- thecodingmachine gotenberg8.31.0 or later
- github.com/gotenberg/gotenberg/v88.31.0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| thecodingmachine gotenberg | v < 8.31.0 | 8.31.0 |
| github.com/gotenberg/gotenberg/v8Go | v < 8.31.0 | 8.31.0 |
| github.com/gotenberg/gotenberg/v7Go | No range specified | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.