About pdfcpu
A PDF processor written in Go.
A PDF processor written in Go.
A PDF processor written in Go.
pdfcpu v0.16.3
This is a security update fixing configured decoded-byte limit bypasses and restricting local image access in create and form input.
Applications handling untrusted PDFs or create/form input should upgrade.
Decoded-byte limits — GHSA-jp42-qm45-2x6g:
Honor Limits.MaxDecodeBytes across stream decoding and combined page content, and stop cross-reference repair after
limit failures. Strengthen Flate predictor, DCT and cached-content checks, with regression coverage for strict/relaxed
validation and eager/deferred decoding.
The limit bounds individual decoded streams and combined page content, not total process memory.
Additive Go API change: Add StreamDict.DecodeWithLimit and StreamDict.DecodeLengthWithLimit to supply the
configured decode limit explicitly.
Local image access — GHSA-44h9-p34h-2w4p:
Confine local images referenced by create, form fill, and JSON/CSV form multifill input to an allowed directory.
Reject absolute paths, parent-directory components, symlink escapes and non-regular files, and report access denials
as errors.
Compatibility change:
API callers must set conf.LocalImageRoot to enable local images; an empty value disables
them. The CLI defaults to its working directory; set localImageRoot in config.yml to select another root.
Update image paths to be relative to that root. Confined local images are unavailable on js/wasm.
See local image access for migration guidance and limitations.
Documentation:
Updated security policy clarifies vulnerability scope, supported releases and guidance for AI-assisted reports and multiple findings.
Updated pull request template clarifies contribution requirements.
Added local image configuration and migration guidance to README and website.
Requires Go 1.26 or later, unchanged from v0.16.2.
Changelog
| Publisher | pdfcpu |
|---|---|
| Author | Horst Rutter |
| Version | 0.16.3 |
| Release date | 2026-10-19 |
| License | Apache-2.0 |
| Installer type | zip |
| Architecture | x86, x64 |
| Package ID | pdfcpu.pdfcpu |
winget install --id=pdfcpu.pdfcpu -ewinget upgrade --id=pdfcpu.pdfcpu -ewinget uninstall --id=pdfcpu.pdfcpu -eYes. pdfcpu is free and open-source software released under the Apache-2.0 license.
The latest version is 0.16.3, released on Oct 19, 2026.
The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 282cb436b6904895fe17cf13e10e8397fcf3ba222084986ac1382340761d3d55.
pdfcpu runs on Windows and is available for 32-bit (x86), 64-bit (x64) systems.
Open Settings › Apps › Installed apps, find pdfcpu and select Uninstall. From the command line, run winget uninstall --id=pdfcpu.pdfcpu -e.