Skip to content

← Public intelligence

crates.io package

lopdf

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 7.5crates.ioAmendedPublished

    lopdf has a stack overflow via deeply nested PDF objects

    GHSA-6fj4-rcr3-r7rr

    Affected
    • crates.io lopdf < 0.42.0
    Fixed in
    0.42.0· Vendor fix available
    Issue
    lopdf::Document::loadmem (and the other load entry points) parses nested PDF arrays and dictionaries with unbounded recursion. A small crafted PDF whose Catalog contains a deeply nested array (/X [[[ … ]]], on the order of 10,000 levels) exhausts the call stack and aborts the process with SIGABRT. Because this is a stack-overflow abort rather than a panic!, it cannot be caught with catchunwind: any service that parses untrusted PDF input with lopdf can be crashed by a ~21 KB file, resulting in a denial of service. Confirmed on lopdf 0.41.0 and earlier; fixed in 0.42.0. Default configuration, no features changed. Proof of concept An equivalent PoC is a minimal PDF whose Catalog /X value is "[" 10380 + "]" 10380. Suggested fix Enforce a maximum object-nesting depth in the parser and return an Err instead of recursing without bound.

    Recommended action: Upgrade to 0.42.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →