# CVE-2026-119206: pypdf denial of service via crafted page labels

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

CVE-2026-119206 · Severity: high · CVSS 4 · Published 2026-10-29

pypdf is a Python library for reading and manipulating PDF files. A specially crafted PDF containing a large number of page label ranges can cause the library to consume excessive time when retrieving page labels, potentially causing the application using pypdf to hang or become unresponsive. This could disrupt services that process untrusted PDF documents.

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-119206 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-119206 being exploited in the wild.

**How severe is CVE-2026-119206?** High severity, with a CVSS score of 4, published 29 October 2026.

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

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

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

**Am I affected by CVE-2026-119206?** 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.21.3 or later

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


## Technical details

The vulnerability is a performance denial of service in the page_labels property, which repeatedly scans a flat /Nums array from the beginning for each page independently, causing O(pages × label_ranges) time complexity. An attacker can provide a crafted PDF with many page label ranges to trigger excessive processing. This is fixed by optimizing the algorithm to scan flat /Nums arrays only once and cache the result.

## Affected products

- py-pdf pypdf prior to 6.21.3

## Identifiers

- CVE-2026-119206
- GHSA-42gh-23hr-vphw

## Timeline

- 2026-10-29: disclosed
- 2026-10-26: patched

## References

- [https://github.com/py-pdf/pypdf/commit/b891fef37000cd86baa6e9848a3387d080b3b03e](https://github.com/py-pdf/pypdf/commit/b891fef37000cd86baa6e9848a3387d080b3b03e)
- [https://github.com/py-pdf/pypdf/pull/4251](https://github.com/py-pdf/pypdf/pull/4251)

## 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 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)
- [pypdf excessive memory consumption in PDF page tree parsing](https://junglewise.ai/threats/cve-2026-119204-pypdf-is-a-free-and-open-source-pure-python-pdf-library-prior-to)
