Skip to content

chore(deps): upgrade pdf-inspector to 0.1.8 (RUSTSEC-2026-0187) - #2588

Open
1688mengdie wants to merge 1 commit into
GCWing:mainfrom
BitFun-SIG:fix/security-lopdf-rustsec-0187
Open

chore(deps): upgrade pdf-inspector to 0.1.8 (RUSTSEC-2026-0187)#2588
1688mengdie wants to merge 1 commit into
GCWing:mainfrom
BitFun-SIG:fix/security-lopdf-rustsec-0187

Conversation

@1688mengdie

Copy link
Copy Markdown

Summary

cargo audit reports RUSTSEC-2026-0187 against the locked lopdf
dependency: a stack overflow when parsing deeply nested PDF objects
(CVSS 7.5). Cargo.lock on main pins lopdf 0.41.0, which is within
the affected range; the advisory is fixed in lopdf >= 0.42.0.

The vulnerable lopdf version is reached through pdf-inspector 0.1.7
on the anydoc document-reading path. An attacker who can supply a
crafted PDF document can trigger unbounded recursion in the parser and
crash the process.

This PR upgrades pdf-inspector from 0.1.7 to 0.1.8, which raises its
lopdf requirement to >= 0.42.0 so the locked resolution leaves the
affected range. Only the locked version and checksum change; the
dependency graph and application sources are unchanged apart from
transitive lockfile re-pinning of getrandom/windows-sys entries that
cargo re-resolves for the new lopdf tree.

Fixes #2586

Type and Areas

Type: dependency

Areas: Rust core dependency

Verification

  • cargo check --locked -p bitfun-cli --jobs 4 — passed (0 errors; 19 pre-existing warnings unchanged).
  • cargo tree --locked -i lopdf --depth 1 — resolved lopdf v0.42.0 through pdf-inspector v0.1.8.
  • cargo deny check advisories (run in a workspace where the advisory is tracked) — reports the vulnerability on the baseline lockfile and clears after this change (advisory solution: upgrade to >= 0.42.0).
  • Full workspace build and runtime PDF workflows were not run locally; repository CI remains the cross-platform verification source.

Reviewer Notes

  • pdf-inspector 0.1.8 keeps the same 0.1.x compatibility line; lopdf moves 0.41.0 -> 0.42.0 within its declared requirement.
  • No UI change, screenshots, migration, or persisted-shape compatibility work is applicable.
  • Rollback is the inverse lockfile-only version/checksum change.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable. (Not applicable: no user-facing change.)

This is an AI-assisted change.

Upgrade the transitive pdf-inspector dependency from 0.1.7 to 0.1.8 so
that its lopdf requirement resolves to 0.42.0, which fixes
RUSTSEC-2026-0187 (stack overflow when parsing deeply nested PDF
objects, CVSS 7.5).

Only the locked version and checksum change; the dependency graph and
application sources are unchanged.

Test: cargo check --locked -p bitfun-cli --jobs 4; cargo tree --locked -i lopdf --depth 1

AI: lightly tested
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Security]: RUSTSEC-2026-0187: lopdf 0.41.0 in Cargo.lock (stack overflow via deeply nested PDF objects)

1 participant