PyPi: Pypdf2

CVE-2022-24859

Safety vulnerability ID: 48186

This vulnerability was reviewed by experts

The information on this page was manually curated by our Cybersecurity Intelligence Team.

Created at Apr 18, 2022 Updated at Nov 29, 2024
Scan your Python projects for vulnerabilities →

Advisory

PyPDF2 1.27.5 includes a fix for CVE-2022-24859: In versions prior to 1.27.5 an attacker can craft a PDF which leads to an infinite loop if PyPDF2 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. Users unable to upgrade should validate PDFs prior to iterating over their content stream.
https://github.com/py-pdf/PyPDF2/security/advisories/GHSA-xcjx-m2pj-8g79

Affected package

pypdf2

Latest version: 3.0.1

A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files

Affected versions

Fixed versions

Vulnerability changelog

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. See CVE-2022-24859.


CONFIRM:https://github.com/py-pdf/PyPDF2/security/advisories/GHSA-xcjx-m2pj-8g79: https://github.com/py-pdf/PyPDF2/security/advisories/GHSA-xcjx-m2pj-8g79
MISC:https://github.com/py-pdf/PyPDF2/issues/329: https://github.com/py-pdf/PyPDF2/issues/329
MISC:https://github.com/py-pdf/PyPDF2/pull/740: https://github.com/py-pdf/PyPDF2/pull/740
MISC:https://github.com/py-pdf/PyPDF2/releases/tag/1.27.5: https://github.com/py-pdf/PyPDF2/releases/tag/1.27.5

Resources

Use this package?

Scan your Python project for dependency vulnerabilities in two minutes

Scan your application

Severity Details

CVSS Base Score

MEDIUM 5.5

CVSS v3 Details

MEDIUM 5.5
Attack Vector (AV)
LOCAL
Attack Complexity (AC)
LOW
Privileges Required (PR)
NONE
User Interaction (UI)
REQUIRED
Scope (S)
UNCHANGED
Confidentiality Impact (C)
NONE
Integrity Impact (I)
NONE
Availability Availability (A)
HIGH

CVSS v2 Details

MEDIUM 4.3
Access Vector (AV)
NETWORK
Access Complexity (AC)
MEDIUM
Authentication (Au)
NONE
Confidentiality Impact (C)
NONE
Integrity Impact (I)
NONE
Availability Impact (A)
PARTIAL