Home

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.

PUBLISHED Reserved 2026-04-29 | Published 2026-05-14 | Updated 2026-05-14 | Assigner GitHub_M




CRITICAL: 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Problem types

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Product status

< 8.31.0
affected

References

github.com/...enberg/security/advisories/GHSA-rqgh-gxv4-6657 exploit

github.com/...enberg/security/advisories/GHSA-rqgh-gxv4-6657

cve.org (CVE-2026-42589)

nvd.nist.gov (CVE-2026-42589)

Download JSON