PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-113786 py-pdf CVE debrief

CVE-2026-113786: pypdf Unvalidated JPEG Image Data Loading. The pypdf library is vulnerable to unvalidated JPEG image data loading, allowing an attacker to craft a PDF that leads to arbitrary image parsers being called. This requires the optional Pillow dependency to be installed. Defenders should assess exposure and prioritize upgrading to version 6.21.1 or later. The vulnerability involves loading an image claiming to use the /DCTDecode filter (JPEG data). Users without the Pillow dependency installed are not affected.

Vendor
py-pdf
Product
pypdf
CVSS
LOW 2.3
CISA KEV
Not listed in stored evidence
Original CVE published
2026-10-21
Original CVE updated
2026-10-21
Advisory published
2026-10-21
Advisory updated
2026-10-21

Who should care

Defenders responsible for systems using the pypdf library, especially those with the Pillow dependency installed, should assess exposure and prioritize upgrading to version 6.21.1 or later.

Why it matters

Defenders should care about CVE-2026-113786 because it allows an attacker to craft a PDF that can lead to arbitrary image parsers being called, potentially affecting systems that process JPEG images in PDFs, especially those with the Pillow dependency installed. The vulnerability requires verification of exposure, and defenders should prioritize upgrading to pypdf version 6.21.1 or later, or applying changes from PR #4222 if an upgrade is not possible.

  • Potential for arbitrary image parser invocation
  • Required verification of Pillow dependency presence
  • Need for upgrade or patch application
  • Possible impact on systems processing JPEG images in PDFs

Technical summary

The pypdf library is vulnerable to unvalidated JPEG image data loading. An attacker can craft a PDF that leads to arbitrary image parsers being called by loading an image claiming to use the /DCTDecode filter (JPEG data). This requires the optional Pillow dependency to be installed. The vulnerability allows for potential invocation of arbitrary image parsers, requiring verification of exposure and prioritization of upgrading to pypdf version 6.21.1 or later, or applying changes from PR #4222 if an upgrade is not possible.

Defensive priority

Defenders should prioritize upgrading to pypdf version 6.21.1 or later to address the unvalidated JPEG image data loading vulnerability.

Recommended defensive actions

  • Upgrade to pypdf version 6.21.1 or later
  • Apply changes from PR #4222 if upgrade is not possible
  • Verify if Pillow dependency is installed and consider its implications
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
  • Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
  • Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
  • Review compensating controls for exposed systems while remediation is scheduled and verified

Evidence notes

The vulnerability allows an attacker to craft a PDF that leads to arbitrary image parsers being called by loading an image claiming to use the /DCTDecode filter (JPEG data). Users without the optional Pillow dependency installed are not affected.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-113786 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-113786

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-113786 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-113786

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • pypdf: Unvalidated JPEG image data loading

    Unverified legacy reference

    URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-5hx5-vpf9-5wcv.json

    osv_dev

  • Source reference

    Unverified legacy reference

    URL: https://github.com/py-pdf/pypdf/security/advisories/GHSA-5hx5-vpf9-5wcv

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/py-pdf/pypdf/pull/4222

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/py-pdf/pypdf/commit/512d8eb94eb04be1d1c90504e6da2dcef8679e07

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/py-pdf/pypdf

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/py-pdf/pypdf/releases/tag/6.21.1

    Supplemental source

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.