Descriptionpypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions 3.7.0 through 3.16.4 can craft a PDF which leads to an infinite loop. This infinite loop blocks the current process and can utilize a single core of the CPU by 100%. It does not affect memory usage. That is, for example, the case when the pypdf-user manipulates an incoming malicious PDF e.g. by merging it with another PDF or by adding annotations. The issue was fixed in version 3.17.0. As a workaround, apply the patch manually by modifying `pypdf/generic/`.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
pypdf (PTS)bookworm3.4.1-1+deb12u1fixed
sid, trixie4.2.0-1fixed
pypdf2 (PTS)buster1.26.0-2fixed
buster (security)1.26.0-2+deb10u2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
pypdfsource(unstable)(not affected)
pypdf2source(unstable)(not affected)


- pypdf <not-affected> (Vulnerable code not yet present)
- pypdf2 <not-affected> (Vulnerable code not yet present) (3.17.0)

Search for package or bug name: Reporting problems