Update docker.io/gotenberg/gotenberg Docker tag to v8.39.0
No problems upgrading the Docker container with a Docker compose yaml file within Portainer and by means of Portainer DevOps resp. GitOps with dependency update facilitated by Mend's Renovate Bot.
| Package | Update | Change |
|---|---|---|
| docker.io/gotenberg/gotenberg | minor | 8.38.1 → 8.39.0 |
Release Notes
gotenberg/gotenberg (docker.io/gotenberg/gotenberg)
v8.39.0: 8.39.0
Security Fixes ⚠️
- Reject ExifTool's
joption alias and stop loading ExifTool config files. The metadata check blockedjsonbut not its aliasj. A metadata key could import a JSON file carrying aHardLinkpseudo-tag, plant~/.ExifTool_config, and have the next ExifTool run execute it as Perl. The keysj,addtagsfromfile, andalltagsfromfilenow return400, and Gotenberg always runs ExifTool with-config "". - Accept only
http://andhttps://URLs on the URL routes. The default deny-list only coveredfile://, sodevtools://devtools/bundled/devtools_app.htmlloaded Chromium's privileged DevTools page, andwaitForExpressionran there with access to local files./forms/chromium/convert/urland/forms/chromium/screenshot/urlnow return400for any other scheme. - Apply path and
wss://deny rules to WebSocket handshakes. The pinning proxy matched CONNECT tunnels againsthttps://host:port, so a deny rule anchored on a path, such as^https?://host/, or onwss://refused the plain request but let the handshake through. The proxy now matches tunnels against each scheme's root URL, and a handshake whose full URL is denied fails the conversion with a generic403. - Drop the compromised eMudhra roots (#1699). The images trusted
emSign ECC Root CA - G3andAAA Certificate Services, whose intermediates have recoverable private keys. The OS bundle now comes fromca-certificates20250419+deb13u1, the Java trust store used by PDFtk drops both roots, and Chromium 156 rejects them. Thanks @hrueger.
New Features
failOnConsoleMessageTypesfor Chromium (#1667). Fails the conversion with409when the page logs a console message of one of the given types (log,debug,info,warning,error,assert). The response lists the messages. Thanks @jschneider.- PDF/A-4 (#1703). The
pdfaform field now acceptsPDF/A-4on every route that supports it, through the LibreOffice PDF engine. Thanks @henningda. Gotenberg-Versionresponse header (#1693). Set on every authenticated route, error responses included, and on webhook deliveries. It is not set on401responses or/health(#1694). Thanks @fragkakis.
Behavior Changes
- The URL routes reject non-HTTP schemes.
chrome://,devtools://,data:, and any other scheme besideshttpandhttpsnow return400. - ExifTool ignores
~/.ExifTool_config. The metadata keysj,addtagsfromfile, andalltagsfromfilenow return400. Prefix them with a group, for exampleXMP:j, to write a tag of that name. - The
XRECHNUNGFactur-X profile embedsxrechnung.xml. See the bug fix below.
Bug Fixes
- Sporadic
502on uploads behind HTTP/2 proxies (#1112). Behind Cloud Run with anh2cport, the proxy sent large DATA frames, Go answered with a flood of WINDOW_UPDATE frames, and the proxy dropped the connection mid-upload. Gotenberg now advertises the 16 KiB HTTP/2 default frame size (#1700). Thanks @TessilimiTheo and @geoherna. - No listener with absolute TLS paths (#1690). Since 8.38.0,
--api-tls-cert-fileand--api-tls-key-filewith absolute paths left Gotenberg running without accepting connections. Both paths work again, and a missing or unreadable file now fails the startup (#1691). Thanks @n-rodriguez. - Empty
stampSourceorwatermarkSourcereturned400(#1692). Since 8.36.0, a blank source failed the merge, split, Chromium, and LibreOffice routes. An empty source is skipped again. Thanks @APX403. - OIDC rejected
bearerin lower case (#1696). The Authorization scheme is now matched case-insensitively, as RFC 9110 requires. Thanks @MaxFreedomPollard. - The
XRECHNUNGFactur-X profile embeddedfactur-x.xml(#1701). The spec requiresxrechnung.xmlfor this profile, both as the embedded file and infx:DocumentFileName. Other levels keepfactur-x.xml. Thanks @nhh.
Chore
- Updated Chromium to
156.0.8078.47. - Updated pdfcpu to
v0.16.3and bumped Go to1.27.3, which fix several HIGH CVEs in the Go standard library andgolang.org/xmodules (#1695). Thanks @sergeykad. - Updated the AWS Lambda Web Adapter to
1.1.0, which supports Lambda SnapStart (#1704). Thanks @michael-follmann. - Bumped golangci-lint to
v2.15.0. - Updated Go dependencies.