Tetrak
GitHub ↗
Security · poppler

poppler's structure tree holds dangling pointers after a vector resize

Poppler ia a library for rendering PDF files, and examining or modifying their structure.

Advisory
CVE-2025-52885
Library
poppler, poppler on Debian
Published
Severity
not scored upstream
Affected
poppler before 25.10.0
Fixed in
25.10.0
Reaches you
by opening a file

What triggers it

A tagged PDF whose structure tree makes poppler resize the vector that refToParentMap points into.

What sillybos does

Reaches pdfinfo itself

The flaw is in the PDF parser sillybos asks, in a separate process with a time limit, so a crash or a hang there is one file refused.

In StructTreeRoot, parsed when a tool reads the structure of a tagged file; pdfinfo may do so for a tagged document. A crash in pdfinfo is a refusal (fails closed); in the renderer, nothing a header shows distinguishes the file.

Proposed from the advisory's text on 2026-11-01, as part of folding the backfill into the record; confirmed by a person on 2026-11-03.

How to protect yourself

In general. Upgrade to poppler 25.10.0.

Specifically. Render PDFs in a boxed process with memory and time limits (see Decoding in a box); nothing read before decoding can see this.

The general advice applies to every row here.

Sources