Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
A crafted PDF reaches the parser with no auth or interaction (AV:N/PR:N/UI:N/AC:L); impact is an infinite-loop hang, so A:H only with C:N/I:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2Blast Radius
ecosystem impact- 1 pypi packages depend on pypdf (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 6.14.1.
DescriptionCVE.org
pypdf is a free and open-source pure-python PDF library. Prior to 6.14.1, an attacker can craft a PDF with a page content stream containing a not terminated inline image, causing an infinite loop during inline image end marker detection such as when extracting page text. This issue is fixed in version 6.14.1.
Articles & Coverage 1
AnalysisAI
Denial of service in the pypdf Python PDF library (all versions prior to 6.14.1) allows a remote attacker to hang a consuming application by supplying a malicious PDF. A page content stream containing an unterminated inline image drives the inline-image end-marker detection logic into an infinite loop, most notably triggered during page text extraction. No public exploit has been identified at time of analysis, but the CVSS 4.0 score of 8.7 reflects an unauthenticated, low-complexity availability attack, and a fixed release (6.14.1) is available.
Technical ContextAI
pypdf is a widely used pure-Python library for reading, splitting, merging, and extracting content from PDF documents. The flaw lives in the parser that handles PDF inline images - small images embedded directly inside a page content stream between the 'BI' (Begin Image) and 'EI' (End Image) operators. The loop that scans forward looking for the 'EI' end marker fails to terminate when the marker is absent, matching CWE-400 (Uncontrolled Resource Consumption): the routine never reaches a stopping condition and spins indefinitely, consuming CPU. Because text extraction walks the content stream, any workflow that calls extract_text() (or similar operations that parse page content) on the crafted document triggers the hang. The affected package is identified by CPE cpe:2.3:a:py-pdf:pypdf:*:*:*:*:*:*:*:* covering all builds before the patch.
RemediationAI
Upgrade to pypdf 6.14.1 or later, which fixes the inline-image end-marker loop (Vendor-released patch: 6.14.1; e.g. 'pip install --upgrade pypdf>=6.14.1'). The fix is confirmed by GitHub advisory GHSA-5xf7-4p34-54qr (https://github.com/py-pdf/pypdf/security/advisories/GHSA-5xf7-4p34-54qr), PR https://github.com/py-pdf/pypdf/pull/3891, commit ec3b14596186c40caca7cf8ab9b2155203e01b5b, and the 6.14.1 release notes (https://github.com/py-pdf/pypdf/releases/tag/6.14.1). Where immediate upgrading is not possible, apply compensating controls around untrusted PDF handling: run the parsing/text-extraction step in a separate worker process with a hard wall-clock timeout and CPU limit so a hung parse can be killed (trade-off: added complexity and per-document overhead), cap the size of accepted PDFs and rate-limit uploads to blunt amplification, and where feasible avoid or defer full-content text extraction on untrusted files until after upgrade. These controls bound impact but do not eliminate the underlying infinite loop, so patching remains the real fix.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42366
GHSA-5xf7-4p34-54qr