Time-of-check Time-of-use (TOCTOU) Affecting gotenberg package, versions <8.32.0-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.19% (10th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-GOTENBERG-17972921
  • published15 Jul 2026
  • disclosed14 May 2026

Introduced: 14 May 2026

CVE-2026-42592  (opens in a new tab)
CWE-367  (opens in a new tab)
CWE-918  (opens in a new tab)

How to fix?

Upgrade Chainguard gotenberg to version 8.32.0-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream gotenberg package and not the gotenberg package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.32.0, FilterOutboundURL resolves the hostname, checks the resolved IPs against the private-address deny-list, and returns only the error. It discards the resolved addresses. Chromium later performs its own DNS resolution when it navigates to the URL. An attacker who controls DNS for a hostname with a short TTL returns a public IP on the first query (Gotenberg allows) and a private IP on the second query (Chromium connects to the attacker-chosen internal address). The CDP Fetch.requestPaused handler re-checks the URL but runs its own DNS resolution, leaving a timing window before Chromium's actual TCP connect. The rendered internal service response returns to the caller as a PDF. This vulnerability is fixed in 8.32.0.