Description
pypdf is a free and open-source pure-python PDF library. Prior to 6.21.1, an attacker can craft a PDF containing image data labeled with the /DCTDecode filter that causes Pillow to select and invoke an unintended image parser when the image is loaded. Environments without the optional Pillow dependency are not affected. This issue is fixed in version 6.21.1.
Published: 2026-10-21
Score: 2.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Upgrade
AI Analysis

Impact

pypdf is a pure‑Python PDF library that, before version 6.21.1, allowed attackers to embed image data marked with the /DCTDecode filter. When the optional Pillow library loads such an image, it selects and runs an unintended image parser, which can result in crashes or other unexpected runtime behavior. The weakness involves improper input validation (CWE‑20), unexpected type handling (CWE‑183), and additional implementation errors (CWE‑1286). The CVSS score is 2.3, indicating a low severity and a limited impact on confidentiality or integrity, but the vulnerability can cause application instability.

Affected Systems

The vulnerability affects the py‑pdf:pypdf product in all releases prior to 6.21.1. The fix was introduced in release 6.21.1; versions after that are not impacted. Dependency on Pillow is required for exploitation, so systems that do not include Pillow are not affected.

Risk and Exploitability

The CVSS score of 2.3 indicates low severity, and the EPSS score of 0.00375 (0.375%) shows a very low likelihood of exploitation. The attack path is clear: a malicious PDF containing a /DCTDecode image loaded in an environment with Pillow. Because Pillow is optional, many deployments remain immune. Applying the vendor fix eliminates risk for supported environments.

Generated by OpenCVE AI on October 22, 2026 at 15:11 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade pypdf to version 6.21.1 or later
  • If Pillow is not required, remove the Pillow dependency or configure pypdf to reject images with the /DCTDecode filter
  • Validate incoming PDF files to ensure they do not contain /DCTDecode image data before processing

Generated by OpenCVE AI on October 22, 2026 at 15:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5hx5-vpf9-5wcv pypdf: Unvalidated JPEG image data loading
History

Wed, 28 Oct 2026 07:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1286
References
Metrics threat_severity

None

cvssV3_1

{'score': 3.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L'}

threat_severity

Low


Thu, 22 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
First Time appeared Py-pdf
Py-pdf pypdf
Vendors & Products Py-pdf
Py-pdf pypdf

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Description pypdf is a free and open-source pure-python PDF library. Prior to 6.21.1, an attacker can craft a PDF containing image data labeled with the /DCTDecode filter that causes Pillow to select and invoke an unintended image parser when the image is loaded. Environments without the optional Pillow dependency are not affected. This issue is fixed in version 6.21.1.
Title pypdf: Unvalidated JPEG image data loading
Weaknesses CWE-183
CWE-20
References
Metrics cvssV4_0

{'score': 2.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-27T22:18:57.010Z

Reserved: 2026-10-20T17:39:41.372Z

Link: CVE-2026-113786

cve-icon Vulnrichment

Updated: 2026-10-27T22:18:52.770Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T15:17:16.703

Modified: 2026-10-27T23:16:57.327

Link: CVE-2026-113786

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-21T14:38:39Z

Links: CVE-2026-113786 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T15:15:07Z

Weaknesses
  • CWE-1286

    Improper Validation of Syntactic Correctness of Input

  • CWE-183

    Permissive List of Allowed Inputs

  • CWE-20

    Improper Input Validation