CVE-2026-42589
Description
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.31.0, Gotenberg's /forms/pdfengines/metadata/write HTTP endpoint accepts a JSON metadata object and passes its keys directly to ExifTool via the go-exiftool library. No validation is performed on key characters. A \n embedded in a JSON key splits the ExifTool stdin stream into a new argument line, allowing an attacker to inject arbitrary ExifTool flags — including -if, which evaluates Perl expressions. This achieves unauthenticated OS command execution in a single HTTP request. The response is HTTP 200 with a valid PDF, making the attack transparent to basic monitoring. This vulnerability is fixed in 8.31.0.
How to fix
- thecodingmachine gotenberg8.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 | No range specified | — |
| 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.