CVE-2026-84309
published 2026-09-01CVE-2026-84309: pypdf is a free and open-source pure-python PDF library. Prior to 6.16.0, an attacker can craft a PDF whose cyclic tree structure causes…
PriorityP421medium5.5CVSS 3.1
AVLACLPRNUIRSUCNINAH
EPSS
0.19%
7.8th percentile
pypdf is a free and open-source pure-python PDF library. Prior to 6.16.0, an attacker can craft a PDF whose cyclic tree structure causes pypdf/generic/_data_structures.py TreeObject.insert_child to follow /Next links indefinitely when a writing code path inserts a child, producing an infinite loop. This issue is fixed in version 6.16.0.
Affected
18 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ansible-automation-platform-25 | lightspeed-chatbot-rhel8 | — | — |
| exploit-intelligence-tech-preview | vulnerability-analysis-rhel9 | — | — |
| lightspeed-core | lightspeed-stack-rhel9 | — | — |
| lightspeed-core | rag-tool-cpu-rhel9 | — | — |
| lightspeed-core | rag-tool-cuda-12.9-rhel9 | — | — |
| openshift-lightspeed-tech-preview | lightspeed-rag-tool-rhel9 | — | — |
| openshift-lightspeed | lightspeed-ocp-rag-rhel9 | — | — |
| py-pdf | pypdf | < 6.16.0 | 6.16.0 |
| pypdf_project | pypdf | < 6.16.0 | 6.16.0 |
| pypdf_project | pypdf | >= 0 < 6.16.0 | 6.16.0 |
| quay | quay-rhel8 | — | — |
| quay | quay-rhel9 | — | — |
| rhelai3 | bootc-cuda-rhel9 | — | — |
| rhelai3 | bootc-gaudi-rhel9 | — | — |
| rhelai3 | bootc-rocm-rhel9 | — | — |
| rhelai3 | disk-image-cuda-rhel9 | — | — |
| rhoai | odh-llama-stack-core-rhel9 | — | — |
| rhoai | odh-ogx-core-rhel9 | — | — |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
nvdv4.06.9MEDIUMCVSS:4.0/AV:L/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
vendor_redhat6.9MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
pypdf: pypdf: Denial of Service via crafted PDF with cyclic tree structure
vendor_redhat·2026-09-01·CVSS 6.9
CVE-2026-84309 [MEDIUM] CWE-835 pypdf: pypdf: Denial of Service via crafted PDF with cyclic tree structure
pypdf: pypdf: Denial of Service via crafted PDF with cyclic tree structure
pypdf is a free and open-source pure-python PDF library. Prior to 6.16.0, an attacker can craft a PDF whose cyclic tree structure causes pypdf/generic/_data_structures.py TreeObject.insert_child to follow /Next links indefinitely when a writing code path inserts a child, producing an infinite loop. This issue is fixed in version 6.16.0.
A flaw was found in pypdf. An attacker can craft a malicious PDF document with a cyclic tree structure. When a writing code path attempts to insert a child object, the `TreeObject.insert_child` function can follow `/Next` links indefinitely, leading to an infinite loop. This can result in a denial of service (DoS) due to resource exhaustion.
Package: exploit-intelligence-tech-prev
VulDB
py-pdf pypdf up to 6.15.x TreeObject _data_structures.py TreeObject.insert_child infinite loop
vuldb·2026-09-01·CVSS 6.9
CVE-2026-84309 [MEDIUM] py-pdf pypdf up to 6.15.x TreeObject _data_structures.py TreeObject.insert_child infinite loop
A vulnerability, which was classified as problematic, has been found in py-pdf pypdf up to 6.15.x. The affected element is the function TreeObject.insert_child of the file pypdf/generic/_data_structures.py of the component TreeObject. This manipulation causes infinite loop.
The identification of this vulnerability is CVE-2026-84309. It is possible to initiate the attack remotely. There is no exploit available.
It is advisable to upgrade the affected component.
GHSA
pypdf: Possible infinite loop for TreeObject.insert_child
ghsa·2026-09-01
CVE-2026-84309 [MEDIUM] CWE-835 pypdf: Possible infinite loop for TreeObject.insert_child
pypdf: Possible infinite loop for TreeObject.insert_child
### Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires a (usually writing) code path where `TreeObject.insert_child` is involved.
### Patches
This has been fixed in [pypdf==6.16.0](https://github.com/py-pdf/pypdf/releases/tag/6.16.0).
### Workarounds
If you cannot upgrade yet, consider applying the changes from PR [#3964](https://github.com/py-pdf/pypdf/pull/3964).
No detection rules found.
No public exploits indexed.
2026-09-01
Published