CVE-2026-59936: pypdf · Possible infinite loop for not terminated inline images
Affects psutilsSource GCVE Database
Not known to be exploited · CVSS 8.7 High : upgrade to 3.3.15_3 soon.
Data as of 1 Nov 2026, 00:10 UTC
- Patch
- Available – fixed in 3.3.15_3
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 8 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 31 Oct 2026.
What to do
Upgrade psutils to 3.3.15_3.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewpsutilspkg:brew/psutilsOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to pypdf version 6.14.1 or later, which contains the official fix for this vulnerability. If immediate upgrade is not possible, apply the changes from pull request #3891 as a temporary workaround to prevent the infinite loop condition.
Description
CVE-2026-59936 is a high-severity vulnerability in pypdf that allows an attacker to craft a PDF containing a not terminated inline image, causing an infinite loop during content stream parsing such as text extraction. This flaw has been fixed in pypdf version 6.14.1. Users unable to upgrade immediately can apply the changes from the referenced pull request as a workaround.
References
- github.com/py-pdf/pypdf/security/advisories/GHSA-5xf7-4p34-54qr (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-59936 (opens in a new tab)
- github.com/py-pdf/pypdf/pull/3891 (opens in a new tab)
- github.com/py-pdf/pypdf/commit/ec3b14596186c40caca7cf8ab9b2155203e01b5b (opens in a new tab)
- github.com/py-pdf/pypdf (opens in a new tab)
- github.com/py-pdf/pypdf/releases/tag/6.14.1 (opens in a new tab)