py-pdf/pypdf · Security
pypdf: Unvalidated JPEG image data loading
- GHSA ID
- GHSA-5hx5-vpf9-5wcv
- CVE ID
- CVE-2026-113786
- Severity
- low
- Published
- Updated
- CVSS v4
- 2.3 · 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
Description
Impact
An attacker who uses this vulnerability can craft a PDF which leads to arbitrary image parsers being called. This requires loading an image which claims to use the /DCTDecode filter (JPEG data).
Users which do not have the optional Pillow dependency installed in their environment are not affected.
Patches
This has been fixed in pypdf==6.21.1.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #4222.
CWEs
- CWE-20 · Improper Input Validation
- CWE-183 · Permissive List of Allowed Inputs
References
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-5hx5-vpf9-5wcv ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-113786 ↗
- https://github.com/py-pdf/pypdf/pull/4222 ↗
- https://github.com/py-pdf/pypdf/commit/512d8eb94eb04be1d1c90504e6da2dcef8679e07 ↗
- https://github.com/py-pdf/pypdf/releases/tag/6.21.1 ↗
- https://github.com/advisories/GHSA-5hx5-vpf9-5wcv ↗