CVE Vulnerabilities

CVE-2022-24859

Loop with Unreachable Exit Condition ('Infinite Loop')

Published: Apr 18, 2022 | Modified: Jun 10, 2023
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
5.5 LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM

PyPDF2 is an open source python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. In versions prior to 1.27.5 an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop if the PyPDF2 if the code attempts to get the content stream. The reason is that the last while-loop in ContentStream._readInlineImage only terminates when it finds the EI token, but never actually checks if the stream has already ended. This issue has been resolved in version 1.27.5. Users unable to upgrade should validate and PDFs prior to iterating over their content stream.

Weakness

The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

Affected Software

Name Vendor Start Version End Version
Pypdf2 Pypdf2_project * 1.27.5 (excluding)
Pypdf2 Ubuntu bionic *
Pypdf2 Ubuntu esm-apps/bionic *
Pypdf2 Ubuntu esm-apps/xenial *
Pypdf2 Ubuntu focal *
Pypdf2 Ubuntu impish *
Pypdf2 Ubuntu jammy *
Pypdf2 Ubuntu trusty *
Pypdf2 Ubuntu upstream *
Pypdf2 Ubuntu xenial *

References