Independent & educational platform Not a government body. No link or affiliation with any government organisation. Made for learning only. Test only systems you own or are authorised to test. Become a Partner or Sponsor → Full disclaimer

CVE-2023-46250

medium

pypdf is a free and open-source pure-python PDF library.

Vendor / product: Py-pdf — pypdf

pypdf 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/_data_structures.py`.

CVSS
5.5
5.5 (CVSS v3.1)
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Severity source: NVD CVSS v3.1 (nvd@nist.gov)
Timeline (UTC)
Published: 2023-10-31 16:15
Modified: 2026-11-02 16:06
NVD status: Modified
Last synced 1 day ago
Verified against the source API 2026-11-03 07:33 UTC
Exploitation
Not listed in CISA KEV (as of last catalog sync)
Absence from KEV does not mean a CVE is not exploited. Exploitation status: unknown (no authoritative evidence in our sources).

Affected products

py-pdf / pypdf ≥3.7.0 <3.17.0

Weakness classification (CWE)

Source: NVD / CISA. “NVD-CWE-Other” and “NVD-CWE-noinfo” mean NVD could not assign a specific weakness.

Mitigation & advisories

Vendor advisory: https://github.com/py-pdf/pypdf/security/advisories/GHSA-wjcc-cq79-p63f
Vendor advisory: https://github.com/py-pdf/pypdf/security/advisories/GHSA-wjcc-cq79-p63f
Patch / mitigation: https://github.com/py-pdf/pypdf/commit/9b23ac3c9619492570011d551d521690de9a3e2d
Patch / mitigation: https://github.com/py-pdf/pypdf/pull/2264
Patch / mitigation: https://github.com/py-pdf/pypdf/commit/9b23ac3c9619492570011d551d521690de9a3e2d
Patch / mitigation: https://github.com/py-pdf/pypdf/pull/2264

References

Data sources

NVD CVE API 2.0 — fetched 2026-11-03 07:33 UTC · record ↗

Learn the basics

Understanding CVEs and CVSS Scores

Related CVEs