pypdf loads unintended image parser from crafted JPEG data
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · Low
- Fix status
- Partial Red Hat: 7 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
pypdf before 6.21.1 is affected. Image data labeled with the /DCTDecode filter is loaded without proper validation, so Pillow can select and invoke an unintended image parser (CWE-20). A remote attacker who crafts a PDF can trigger this when a user processes the file, and the issue has a low availability impact. Environments without the optional Pillow dependency are not affected.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| py-pdf | pypdf | before 6.21.1 | 6.21.1 | Patch available | CNA |
| — | pypdf (PyPI) | before 6.21.1 | 6.21.1 | Patch available | GHSA-5hx5-vpf9-5wcv |
- pypdf Vendorpy-pdf Affected before 6.21.1 Fixed in 6.21.1 Patch available CNA
- pypdf (PyPI) Vendor— Affected before 6.21.1 Fixed in 6.21.1 Patch available GHSA-5hx5-vpf9-5wcv
Remediation
Upgrade pypdf to version 6.21.1, which fixes the issue. The sources list no fixed version for Red Hat Ansible Automation Platform 2 and Red Hat Quay 3, where no fix is planned, or for Ansible Automation Orchestrator 2026, Lightspeed Core, OpenShift Lightspeed, Red Hat Enterprise Linux AI (RHEL AI) 3 and Red Hat OpenShift AI (RHOAI), where none is available.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA pypdf (py-pdf) Fixed in 6.21.1
- Fix · GHSA-5hx5-vpf9-5wcv pypdf (PyPI) Fixed in 6.21.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Ansible Automation Orchestrator 2026 | Affected | No fix yet: Fix deferred |
| Lightspeed Core | Affected | No fix yet: Fix deferred |
| OpenShift Lightspeed | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat Quay 3 | Affected | No fix planned: Out of support scope |
Timeline
- 2026-10-21 Threatist record created from CVE-2026-113786
- 2026-10-21 Alias added: GHSA-5hx5-vpf9-5wcv
- 2026-10-21 Fix available: PyPI/[email protected] · GHSA-5hx5-vpf9-5wcv
- 2026-10-21 CVSS score added · GHSA-5hx5-vpf9-5wcv
- 2026-10-21 Weakness changed · GHSA-5hx5-vpf9-5wcv
- 2026-10-21 6 new references · GHSA-5hx5-vpf9-5wcv
- 2026-10-22 Affected versions changed · Red Hat
- 2026-10-22 CVSS score added · Red Hat
- 2026-10-27 CISA SSVC decision points changed
References
More py-pdf vulnerabilities
- TI-2026-79334 Exponential SVG use expansion exhausts CPU and memory in fpdf2 CVSS 3.1MEDIUM 6.5
- TI-2023-18601 Infinite Loop when reading malformed objects in pypdf CVSS 3.1MEDIUM 6.5
- TI-2023-18305 Infinite Loop when a comment isn't followed by a character in pypdf CVSS 3.1MEDIUM 6.2
- TI-2022-08670 Manipulated inline images can cause Infinite Loop in PyPDF2 CVSS 3.1MEDIUM 6.2
- TI-2026-42743 pypdf: Possible infinite loop for not terminated inline images CVSS 4.0HIGH 8.7
- TI-2026-42742 pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter) CVSS 4.0HIGH 8.7
Sources
- CVE-2026-113786 · CVE Program
- CVE-2026-113786 · NVD
- FIRST EPSS
- GHSA-5hx5-vpf9-5wcv · GitHub Advisory Database · CC BY 4.0
- CVE-2026-113786 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences