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.
References
| Link | Resource |
|---|---|
| https://github.com/gotenberg/gotenberg/security/advisories/GHSA-rqgh-gxv4-6657 | Exploit Mitigation Vendor Advisory |
| https://github.com/gotenberg/gotenberg/security/advisories/GHSA-rqgh-gxv4-6657 | Exploit Mitigation Vendor Advisory |
Configurations
History
No history.
Information
Published : 2026-05-14 16:16
Updated : 2026-06-17 10:48
NVD link : CVE-2026-42589
Mitre link : CVE-2026-42589
CVE.ORG link : CVE-2026-42589
JSON object : View
Products Affected
thecodingmachine
- gotenberg
CWE
CWE-78
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
