Gotenberg: Arbitrary PDF read via stampExpression and watermarkExpression in merge, split, and convert routes
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.32.0, pdfengines/merge, pdfengines/split, libreoffice/convert, chromium/convert/url, chromium/convert/html, and chromium/convert/markdown accept stampSource=pdf + stampExpression=/path and watermarkSource=pdf + watermarkExpression=/path from anonymous callers. The dedicated stamp/watermark routes require an uploaded file when the source type is image or pdf; these six routes only overwrite the expression when a file is uploaded, leaving the user-controlled path intact when no file is attached. pdfcpu opens the path and composites its pages onto the output PDF, which returns to the caller. An attacker reads any PDF the Gotenberg process can access on the container filesystem. This vulnerability is fixed in 8.32.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-42593
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 06:05 UTC · Revision 1
Source evidence
Gotenberg: Arbitrary PDF read via stampExpression and watermarkExpression in merge, split, and convert routes
core-osv · Original sourcePublished 14 May 2026, 15:31 UTC
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.32.0, pdfengines/merge, pdfengines/split, libreoffice/convert, chromium/convert/url, chromium/convert/html, and chromium/convert/markdown accept stampSource=pdf + stampExpression=/path and watermarkSource=pdf + watermarkExpression=/path from anonymous callers. The dedicated stamp/watermark routes require an uploaded file when the source type is image or pdf; these six routes only overwrite the expression when a file is uploaded, leaving the user-controlled path intact when no file is attached. pdfcpu opens the path and composites its pages onto the output PDF, which returns to the caller. An attacker reads any PDF the Gotenberg process can access on the container filesystem. This vulnerability is fixed in 8.32.0.
osv:CVE-2026-42593
Complete source record
{
"id": "681efdae750df2cc877586ced64ef5eab7efc0a6705c51139d4c0376324bb993",
"url": "https://osv.dev/vulnerability/CVE-2026-42593",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Gotenberg: Arbitrary PDF read via stampExpression and watermarkExpression in merge, split, and convert routes",
"summary": "Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.32.0, pdfengines/merge, pdfengines/split, libreoffice/convert, chromium/convert/url, chromium/convert/html, and chromium/convert/markdown accept stampSource=pdf + stampExpression=/path and watermarkSource=pdf + watermarkExpression=/path from anonymous callers. The dedicated stamp/watermark routes require an uploaded file when the source type is image or pdf; these six routes only overwrite the expression when a file is uploaded, leaving the user-controlled path intact when no file is attached. pdfcpu opens the path and composites its pages onto the output PDF, which returns to the caller. An attacker reads any PDF the Gotenberg process can access on the container filesystem. This vulnerability is fixed in 8.32.0.",
"evidence": "osv:CVE-2026-42593",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-42593",
"aliases": [
"CVE-2026-42593",
"GHSA-3cv5-q585-h563",
"GO-2026-5080"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gotenberg/gotenberg",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fe1b0020b8f211575559e6cf7e5ef6cc5a0545ca"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "8.32.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:thecodingmachine:gotenberg:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "8.32.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v8.31.0",
"v8.30.1",
"v8.30.0",
"v8.29.1",
"v8.29.0",
"v8.28.0",
"v8.27.0",
"v8.26.0",
"v8.25.1",
"v8.25.0",
"v8.24.0",
"v8.23.2",
"v8.23.1",
"v8.23.0",
"v8.22.0",
"v8.21.1",
"v8.21.0",
"v8.20.1",
"v8.20.0",
"v8.19.1",
"v8.19.0",
"v8.18.0",
"v8.17.3",
"v8.17.2",
"v8.17.1",
"v8.17.0",
"v8.16.0",
"v8.15.3",
"v8.15.2",
"v8.15.1",
"v8.15.0",
"v8.14.1",
"v8.14.0",
"v8.13.0",
"v8.12.0",
"v8.11.1",
"v8.11.0",
"v8.10.0",
"v8.9.2",
"v8.9.1",
"v8.9.0",
"v8.8.1",
"v8.8.0",
"v8.7.0",
"v8.6.0",
"v8.5.1",
"v8.5.0",
"v8.4.0",
"v8.3.0",
"v8.2.2",
"v8.2.1",
"v8.2.0",
"v8.1.0",
"v8.0.3",
"v8.0.2",
"v8.0.1",
"v8.0.0",
"v7.10.1",
"v7.10.0",
"v7.9.2",
"v7.9.1",
"v7.9.0",
"v7.8.3",
"v7.8.2",
"v7.8.1",
"v7.8.0",
"v7.7.2",
"v7.7.1",
"v7.7.0",
"v7.6.2",
"v7.6.1",
"v7.6.0",
"v7.5.4",
"v7.5.3",
"v7.5.2",
"v7.5.1",
"v7.5.0",
"v7.4.3",
"v7.4.2",
"v7.4.1",
"v7.4.0",
"v7.3.1",
"v7.3.0",
"v7.2.0",
"v7.1.1",
"v7.1.0",
"v7.0.7",
"v7.0.6",
"v7.0.5",
"v7.0.4",
"v7.0.3",
"v7.0.2",
"v7.0.1",
"v7.0.0",
"6.4.4",
"6.4.3",
"6.4.2",
"6.4.1",
"6.4.0",
"6.3.1",
"6.3.0",
"6.2.1",
"6.2.0",
"6.1.2",
"6.1.1",
"6.1.0",
"6.0.4",
"6.0.3",
"6.0.2",
"6.0.1",
"6.0.0",
"5.1.0",
"5.0.2",
"5.0.1",
"5.0.0",
"4.4.0",
"4.3.0",
"4.2.0",
"4.1.0",
"4.0.0",
"3.2.0",
"3.1.2",
"3.1.1",
"3.1.0",
"3.0.2",
"3.0.1",
"3.0.0",
"2.0.0",
"1.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42593.json"
}
}
],
"modified": "2026-10-28T02:30:26.484466922Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42593.json",
"https://github.com/gotenberg/gotenberg/security/advisories/GHSA-3cv5-q585-h563",
"https://nvd.nist.gov/vuln/detail/CVE-2026-42593"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22",
"CWE-73"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42593.json"
}
},
"related_cves": [
{
"value": "CVE-2026-42593",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 492927,
"published_at": "2026-05-14T15:31:27.284+00:00"
}