Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. pypdf
  4. ›
  5. CVE-2023-46250

CVE-2023-46250: Loop with Unreachable Exit Condition ('Infinite Loop')

October 31, 2023 (updated November 8, 2023)

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.

References

  • github.com/advisories/GHSA-wjcc-cq79-p63f
  • github.com/py-pdf/pypdf/commit/9b23ac3c9619492570011d551d521690de9a3e2d
  • github.com/py-pdf/pypdf/pull/2264
  • github.com/py-pdf/pypdf/security/advisories/GHSA-wjcc-cq79-p63f
  • nvd.nist.gov/vuln/detail/CVE-2023-46250

Code Behaviors & Features

Detect and mitigate CVE-2023-46250 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 3.7.0 before 3.17.0

Fixed versions

  • 3.17.0

Solution

Upgrade to version 3.17.0 or above.

Impact 5.5 MEDIUM

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

pypi/pypdf/CVE-2023-46250.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:05 +0000.