FR
live
High CVSS 8.8

CVE-2026-44829

NVD analysis in progress

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.

What this means

Exposure
Exploitable remotely over the network and without authentication — but only if a user opens booby-trapped content.
Impact
An attacker can read some data, modify or destroy data and degrade the service. The impact spreads beyond the vulnerable component into other parts of the system.
Weakness
An attacker-supplied file path is not confined, letting them read or write outside the intended folder.
Likelihood
Its EPSS score stays low: nothing points to imminent exploitation, which is no reason to leave it unpatched.

What to doFold into the next patch cycle.

Read automatically from the CVSS vector, the weakness type (CWE) and the EPSS score. The technical description above remains the one published by NIST.

Published
19 August 2026
CVSS
8.8 (v3.1) CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L
EPSS
0.37% probability of exploitation within 30 days · above 30% of all CVEs
Weakness
CWE-22
Sources
nvd
References

Type at least two characters.

navigate open esc dismiss