Description
Gotenberg is a Docker-powered stateless API for PDF files. In 8.32.0 and earlier, filename handling in pkg/modules/api/context.go uses filepath.Base on Linux, which does not treat backslashes as path separators, so a multipart filename containing Windows-style parent directory components survives sanitization. The original filename flows through ctx.diskToOriginal and the multi-output PDF routes into archives.FilesFromDisk and archives.Zip.Archive as the generated zip entry name. A remote attacker can submit a name such as ........\Windows\System32\evil.pdf through an upload or an upstream downloadFrom Content-Disposition header, and a Windows archive extractor can write the resulting file outside the intended extraction directory. The affected paths include /forms/pdfengines/split and other multi-output PDF, LibreOffice, and conversion routes, and exploitation can cause arbitrary file writes on a downstream Windows system when a user or process extracts the returned archive. This issue is fixed in version 8.33.0.
Published: 2026-08-19
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Gotenberg is a Docker‑powered stateless API for PDF files. In versions 8.32.0 and earlier, filename handling uses filepath.Base on Linux, which does not treat backslashes as path separators, allowing a multipart filename containing Windows‑style parent directory components to survive sanitization. This result flows into multi‑output PDF routes that produce ZIP archives, with the original filename used as the zip entry name. A remote attacker can submit a name such as …\Windows\System32\evil.pdf via an upload or a manipulated Content‑Disposition header. When a Windows archive extractor extracts the returned ZIP, the entry name can cause a file to be written outside the intended extraction directory, leading to arbitrary file writes on the downstream Windows system. The affected paths include /forms/pdfengines/split and other multi‑output PDF, LibreOffice, and conversion routes. This is a directory traversal vulnerability (CWE‑22).

Affected Systems

The vulnerability is present in Gotenberg 8.32.0 and earlier releases and is fixed in version 8.33.0. Only the Gotenberg container image (gotenberg:gotenberg) is affected. The affected functionality includes the multi‑output PDF, LibreOffice, and conversion routes that generate ZIP archives, with the /forms/pdfengines/split path also impacted.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity, while the EPSS score of less than 1% suggests a low probability of exploitation in the wild. The vulnerability is not listed in CISA’s KEV catalog. An attacker can trigger the flaw simply by submitting an upload or manipulating a Content‑Disposition header to include a filename with backslashes. Once the malicious ZIP is extracted on a Windows system, the attack can result in arbitrary file writes outside the intended directory, potentially compromising the host. The attack vector is remote, relying on client‑side ZIP extraction, and poses significant risk for environments that distribute or accept such archives for Windows users or services.

Generated by OpenCVE AI on August 20, 2026 at 16:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Gotenberg 8.33.0 or later.
  • Implement strict validation on uploaded filenames to reject any path separator characters or relative components, ensuring that only base names are accepted.
  • Review and harden downstream ZIP extraction procedures on Windows systems, ensuring that untrusted archives are extracted in a sandboxed environment or using a tool that normalizes entry names and prevents path traversal.

Generated by OpenCVE AI on August 20, 2026 at 16:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-hwc4-gmrw-5222 Gotenberg has path traversal in zip entry name via Windows-style separators in upload filename
History

Wed, 19 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Gotenberg
Gotenberg gotenberg
Vendors & Products Gotenberg
Gotenberg gotenberg

Wed, 19 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description Gotenberg is a Docker-powered stateless API for PDF files. In 8.32.0 and earlier, filename handling in pkg/modules/api/context.go uses filepath.Base on Linux, which does not treat backslashes as path separators, so a multipart filename containing Windows-style parent directory components survives sanitization. The original filename flows through ctx.diskToOriginal and the multi-output PDF routes into archives.FilesFromDisk and archives.Zip.Archive as the generated zip entry name. A remote attacker can submit a name such as ........\Windows\System32\evil.pdf through an upload or an upstream downloadFrom Content-Disposition header, and a Windows archive extractor can write the resulting file outside the intended extraction directory. The affected paths include /forms/pdfengines/split and other multi-output PDF, LibreOffice, and conversion routes, and exploitation can cause arbitrary file writes on a downstream Windows system when a user or process extracts the returned archive. This issue is fixed in version 8.33.0.
Title Gotenberg: Path traversal in zip entry name via Windows-style separators in upload filename
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L'}


Subscriptions

Gotenberg Gotenberg
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T18:19:27.164Z

Reserved: 2026-05-07T21:21:48.351Z

Link: CVE-2026-44829

cve-icon Vulnrichment

Updated: 2026-08-19T18:03:44.171Z

cve-icon NVD

Status : Received

Published: 2026-08-19T15:17:02.630

Modified: 2026-08-19T19:17:16.830

Link: CVE-2026-44829

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T16:30:04Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')