Gotenberg is a Docker-powered stateless API for PDF files. In versions 8.30.1 and earlier, the metadata write endpoint validates metadata keys for control characters but leaves metadata values unsanitized. A newline character in a metadata value splits the ExifTool stdin line into two separate arguments, allowing injection of arbitrary ExifTool pseudo-tags such as -FileName, -Directory, -SymLink, and -HardLink. This is a bypass of the incomplete key-sanitization fix introduced in v8.30.1. An unauthenticated attacker can rename or move any PDF being processed to an arbitrary path in the container filesystem, overwrite arbitrary files, or create symlinks and hard links at arbitrary paths.
References
| Link | Resource |
|---|---|
| https://github.com/gotenberg/gotenberg/commit/405f1069c026bb08f319fb5a44e5c67c33208318 | Patch |
| https://github.com/gotenberg/gotenberg/security/advisories/GHSA-q7r4-hc83-hf2q | Exploit Patch Vendor Advisory |
| https://github.com/gotenberg/gotenberg/security/advisories/GHSA-q7r4-hc83-hf2q | Exploit Patch Vendor Advisory |
Configurations
History
11 May 2026, 14:46
| Type | Values Removed | Values Added |
|---|---|---|
| First Time |
Thecodingmachine gotenberg
Thecodingmachine |
|
| CPE | cpe:2.3:a:thecodingmachine:gotenberg:*:*:*:*:*:*:*:* | |
| References | () https://github.com/gotenberg/gotenberg/commit/405f1069c026bb08f319fb5a44e5c67c33208318 - Patch | |
| References | () https://github.com/gotenberg/gotenberg/security/advisories/GHSA-q7r4-hc83-hf2q - Exploit, Patch, Vendor Advisory |
07 May 2026, 14:58
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://github.com/gotenberg/gotenberg/security/advisories/GHSA-q7r4-hc83-hf2q - |
06 May 2026, 21:16
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-05-06 21:16
Updated : 2026-05-11 14:46
NVD link : CVE-2026-40281
Mitre link : CVE-2026-40281
CVE.ORG link : CVE-2026-40281
JSON object : View
Products Affected
thecodingmachine
- gotenberg
CWE
CWE-88
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')
