Activity log
- Created suggestion
Gotenberg SSRF via case-insensitive URL scheme bypass in webhook and downloadFrom deny-lists
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.
References
-
https://github.com/gotenberg/gotenberg/security/advisories/GHSA-5q7p-7jgv-ww56 x_refsource_CONFIRM
-
https://github.com/advisories/GHSA-jjwv-57xh-xr6r x_refsource_MISC
Affected products
- ==<= 8.30.1
Matching in nixpkgs
pkgs.gotenberg
Converts numerous document formats into PDF files
pkgs.python312Packages.gotenberg-client
Python client for interfacing with the Gotenberg API
pkgs.python313Packages.gotenberg-client
Python client for interfacing with the Gotenberg API
pkgs.python314Packages.gotenberg-client
Python client for interfacing with the Gotenberg API
Package maintainers
-
@MiniHarinn Harinn <prinn.dev@pm.me>
-
@leona-ya Leona Maroni <nix@leona.is>