# CVE-2026-103000: pypdf denial of service in alphabetical page label processing

Source: https://junglewise.ai/threats/cve-2026-103000-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-30. Updated: 2026-09-30  
License: CC BY 4.0 with a link back

CVE-2026-103000 · Severity: high · CVSS 4 · Published 2026-09-30

pypdf is a Python library for reading and manipulating PDF documents. A specially crafted PDF file with extremely large alphabetical page-label values can cause the library to generate excessively long strings that consume large amounts of memory, potentially causing an application using pypdf to become unavailable or crash.

Technologies: [Py-Pdf Pypdf](https://junglewise.ai/threats/technologies/py-pdf-pypdf), [pypdf (PyPI)](https://junglewise.ai/threats/technologies/pypdf). Vendors: [Py-Pdf](https://junglewise.ai/threats/vendors/py-pdf), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-103000 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-103000 being exploited in the wild.

**How severe is CVE-2026-103000?** High severity, with a CVSS score of 4, published 30 September 2026.

**Which products and versions are affected?** Py-Pdf Pypdf prior to 6.19.0; pypdf (PyPI) < 6.19.0, ECOSYSTEM:introduced=0,fixed=6.19.0.

**Is there a fix for CVE-2026-103000?** Yes. pypdf (PyPI): upgrade to 6.19.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-103000 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-103000?** Check whether you run Py-Pdf Pypdf or pypdf (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- pypdf (PyPI): upgrade to 6.19.0 or later

  ```sh
  pip install "pypdf>=6.19.0"
  ```


## Technical details

The vulnerability exists in pypdf/_page_labels.py where alphabetical page label values are not properly constrained, allowing a crafted PDF to trigger generation of unreasonably long strings. An unauthenticated attacker can trigger this by providing a malicious PDF file that an application processes. The vulnerability is memory exhaustion leading to denial of service; a fix is available in version 6.19.0.

## Affected products

- py-pdf pypdf prior to 6.19.0

## Identifiers

- CVE-2026-103000
- GHSA-w23x-9jrw-r45c
- PYSEC-2026-4160

## Timeline

- 2026-09-16: patched: Fix merged in pull request #4096
- 2026-09-30: disclosed

## References

- [https://github.com/py-pdf/pypdf/commit/0d8b5a8832cde1ba308b5c27567b879b7b7eed4a](https://github.com/py-pdf/pypdf/commit/0d8b5a8832cde1ba308b5c27567b879b7b7eed4a)
- [https://github.com/py-pdf/pypdf/pull/4096](https://github.com/py-pdf/pypdf/pull/4096)

## Related threats

- [pypdf memory exhaustion in cross-reference stream parsing](https://junglewise.ai/threats/cve-2026-119209-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
- [pypdf denial of service via forged encrypted PDF page count](https://junglewise.ai/threats/cve-2026-119208-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
- [pypdf excessive memory consumption in strict mode PDF parsing](https://junglewise.ai/threats/cve-2026-119207-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
- [pypdf denial of service via crafted page labels](https://junglewise.ai/threats/cve-2026-119206-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
- [pypdf infinite loop in DictionaryObject cloning](https://junglewise.ai/threats/cve-2026-119205-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
