
CVE catalog
CVE-2026-84309
pypdf is a free and open-source pure-python PDF…
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.
- Severity
- Medium · CVSS 6.9
CVSS: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 - Published
- Updated
- Source
- [NVD] · [CVE record]
- EPSS
- 0.19% · Oct 27, 2026
Projects and upstream resources
Reported versions and fixes
Each observation applies to its named package, distribution, and release. Distribution backports can fix a vulnerability while retaining an older upstream version number.
Version impact has not been established. The original provider fields are retained below.
Provider details and historical evidence
Original provider fields
{
"package_releases": [
{
"name": "pypdf",
"status": "fixed",
"release": "sid",
"version": "6.21.1-1"
},
{
"name": "pypdf",
"status": "fixed",
"release": "forky",
"version": "6.21.1-1"
},
{
"name": "pypdf",
"status": "vulnerable",
"release": "trixie",
"version": "5.4.0-1"
},
{
"name": "pypdf",
"status": "vulnerable",
"release": "bookworm",
"version": "3.4.1-1+deb12u1"
},
{
"name": "pypdf2",
"status": "vulnerable",
"release": "bookworm",
"version": "2.12.1-3+deb12u1"
}
],
"fixed_versions": [
{
"bug": 1146638,
"name": "pypdf",
"type": "source",
"origin": null,
"release": "sid",
"urgency": "not yet assigned",
"fixed_version": "6.19.0-1"
},
{
"bug": 1146638,
"name": "pypdf",
"type": "source",
"origin": null,
"release": "forky",
"urgency": "not yet assigned",
"fixed_version": "6.19.0-1"
},
{
"bug": 1146638,
"name": "pypdf",
"type": "source",
"origin": null,
"release": "trixie",
"urgency": "not yet assigned",
"fixed_version": ""
},
{
"bug": 1146638,
"name": "pypdf",
"type": "source",
"origin": null,
"release": "bookworm",
"urgency": "not yet assigned",
"fixed_version": ""
},
{
"bug": null,
"name": "pypdf2",
"type": "source",
"origin": null,
"release": "bookworm",
"urgency": "not yet assigned",
"fixed_version": ""
}
],
"distribution_packages": [
{
"name": "pypdf",
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.16.0"
}
]
}
],
"ecosystem": "PyPI",
"fixed_version": "6.16.0",
"provider_record_id": "PYSEC-2026-3913"
},
{
"name": "pypdf",
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.16.0"
}
]
}
],
"ecosystem": "PyPI",
"fixed_version": "6.16.0",
"provider_record_id": "GHSA-JP53-MHQP-8XCG"
},
{
"name": "pypdf",
"ranges": [
{
"fixed": "6.16.0",
"introduced": "",
"last_affected": "",
"start_excluding": ""
}
],
"ecosystem": "cpe",
"fixed_version": "6.16.0",
"provider_record_id": "NVD-CVE-2026-84309"
},
{
"name": "python-pypdf",
"distro": "opensuse",
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.16.2-3.1"
}
]
}
],
"release": "tumbleweed",
"versions": [],
"ecosystem": "rpm",
"fixed_version": "6.16.2-3.1",
"provider_record_id": "OPENSUSE-SU-2026:11726-1"
}
]
}Publisher notes
[trixie] pypdf: Minor issue [bookworm] pypdf: Minor issue [bookworm] pypdf2: Minor issue, DoS
OpenFactory catalog packages
Matching against OpenFactory catalog package versions is in progress.
[Debian 12 (Bookworm)]
- [python3-pypdf]Unknown
Source package: [pypdf]
Details (2)
3.4.1-1+deb12u1· all · bookwormAffected
nvd · pypdf · debian · bookworm; nvd · pypdf · debian · 12
3.4.1-1+deb12u1· all · bookwormAffected
nvd · pypdf · debian · bookworm; nvd · pypdf · debian · 12
- [python3-pypdf2]Unknown
Source package: [pypdf2]
Details (2)
2.12.1-3+deb12u1· all · bookwormAffected
nvd · pypdf2 · debian · bookworm; nvd · pypdf2 · debian · 12
2.12.1-3+deb12u1· all · bookwormAffected
nvd · pypdf2 · debian · bookworm; nvd · pypdf2 · debian · 12
[Debian 13 (Trixie)]
- [python3-pypdf]Unknown
Source package: [pypdf]
Details (2)
5.4.0-1· all · trixieAffected
nvd · pypdf · debian · 13
5.4.0-1· all · trixieAffected
nvd · pypdf · debian · 13
[openSUSE Tumbleweed]
- [python313-pypdf]Unknown
Source package: [python-pypdf]
Details (1)
6.16.2-1.1· noarch · tumbleweedUnknown · Fixed:
6.16.2-3.1Version impact unknown
nvd · python-pypdf · opensuse · tumbleweed
- [python314-pypdf]Unknown
Source package: [python-pypdf]
Details (1)
6.16.2-1.1· noarch · tumbleweedUnknown · Fixed:
6.16.2-3.1Version impact unknown
nvd · python-pypdf · opensuse · tumbleweed
Observed:
References
- [https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_11726-1.json]
- [https://nvd.nist.gov/vuln/detail/CVE-2026-84309]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-84309]
- [https://osv.dev/vulnerability/PYSEC-2026-3913]
- [https://osv.dev/vulnerability/openSUSE-SU-2026:11726-1]
- [https://security-tracker.debian.org/tracker/CVE-2026-84309]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84309.json]
[Debian Security Tracker] · [FIRST EPSS] · [GitHub Advisory Database] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX] · [SUSE security advisories and VEX]