Intel

AIKIDO-2026-860082

pypdf is vulnerable to Denial of Service (DoS)

Denial of Service (DoS)GHSA-23w6-3w8w-8484 Published 2 days ago

50

Medium Risk

This Affects:

PYTHONpypdf
0.0.1 - 6.16.0
Fixed in 6.16.1
Are you affected? Scan for Free

TL;DR

pypdf walks the document outline (bookmark) tree in _get_outline() without bounding depth or entry count. A crafted PDF with a huge outline, deeply nested items, or reused nesting paths forces long runtimes and large memory use when code reads reader.outline. The fix caps traversal at OUTLINE_MAX_DEPTH (100) and OUTLINE_MAX_ENTRIES (100,000) and raises LimitReachedError when those limits are exceeded.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application reads outlines or bookmarks from untrusted PDF files.

Background info

pypdf is vulnerable to Denial of Service (DoS) in versions 0.0.1 - 6.16.0.

How to fix this

Upgrade the pypdf library to the patch version.