Vulnerabilities in pkg:pypi/pypdf

PACKAGE
Advisory Identifier: GHSA-v247-6f48-mgcj
Advisory Summary

CVE-2026-102999 is a HIGH possible long runtimes with large vulnerability (CWE-400: Uncontrolled Resource Consumption) affecting pypdf libraries in the PyPI ecosystem. The issue involves possible long runtimes with large amount of embedded files. Remediation is available by upgrading affected packages to version 6.19.0.

51 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:pypi/pypdf

51 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:pypi/pypdf. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-v247-6f48-mgcj CVE-2026-102999 HIGH pypdf: Possible long runtimes with large amount of embedded files
GHSA-php9-fj8v-98fj CVE-2026-102998 HIGH pypdf: Possible long runtimes when generating appearance streams
GHSA-w23x-9jrw-r45c CVE-2026-103000 HIGH pypdf: Possible large memory usage when retrieving alphabetical page labels
GHSA-jw7q-gvrg-4vj3 CVE-2026-102997 HIGH pypdf: Possible long runtimes for partially malformed FlateDecode streams (Follow-up)
GHSA-g9cg-prrw-2r8q CVE-2026-102996 HIGH pypdf: Possible large memory usage when parsing font data
GHSA-fp3h-c4fm-7vvf CVE-2026-102995 HIGH pypdf: Possible large memory usage for large /ToUnicode streams (Follow-up 2)
GHSA-5jq2-8x83-x246 CVE-2026-102994 HIGH pypdf: Possible long runtimes/large memory usage when parsing indirect objects
GHSA-qv6h-rv94-w285 CVE-2026-102993 HIGH pypdf: Possible large memory usage when retrieving Roman page labels
GHSA-fc8x-2rww-xw9m CVE-2026-82398 MODERATE pypdf: Inefficient handling of non-whitespace inputs in read_until_whitespace
GHSA-23w6-3w8w-8484 CVE-2026-84310 MODERATE pypdf: Possible long runtimes/large memory usage when retrieving outlines
GHSA-763m-79hh-57f2 CVE-2026-84311 MODERATE pypdf: Possible long runtimes/large memory usage when extracting XForm objects
GHSA-jp53-mhqp-8xcg CVE-2026-84309 MODERATE pypdf: Possible infinite loop for TreeObject.insert_child
GHSA-fp3f-mc75-235c CVE-2026-71870 MODERATE pypdf: Possible large memory usage for large /ToUnicode streams
GHSA-fwg2-594c-jp42 CVE-2026-71852 MODERATE pypdf: Possible long runtimes/large memory usage for large CID font width ranges
GHSA-g867-7843-wf8q CVE-2026-59935 HIGH pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter)
GHSA-5xf7-4p34-54qr CVE-2026-59936 HIGH pypdf: Possible infinite loop for not terminated inline images
GHSA-55h5-xmcq-c37v CVE-2026-59937 MODERATE pypdf: Possible long runtimes for repeated malformed cross-reference entries
GHSA-5qjq-93h5-hrgp CVE-2026-59938 MODERATE pypdf: Possible large memory usage for wrong image dimensions
GHSA-g9xf-7f8q-9mcj CVE-2026-54651 MODERATE pypdf: Possible infinite loop when processing threads/articles in writer
GHSA-jm82-fx9c-mx94 - MODERATE pypdf: Missing stream length values ignore defined limits
GHSA-m2v9-299j-rv96 CVE-2026-54531 MODERATE pypdf: Possible infinite loop when processing outlines/bookmarks in writer
GHSA-52x6-gq3r-vpf4 CVE-2026-54530 MODERATE pypdf: Possible infinite loop when retrieving fonts for layout-mode text extraction
GHSA-j543-4vmf-qm7v CVE-2026-49461 MODERATE pypdf: Possible large memory usage for form XObjects during text extraction
GHSA-5hgr-hg42-57jg CVE-2026-49460 MODERATE pypdf: Inefficient decoding of FlateDecode PNG predictor streams
GHSA-wjqc-6w8f-h24c CVE-2026-48735 MODERATE pypdf: Manipulated XMP metadata streams can exhaust RAM
GHSA-248m-82v9-q6g6 CVE-2026-48156 MODERATE pypdf: Possible long runtimes for zero-only width values in cross-reference streamsuntimes for zero-only width values in cross-reference streams
GHSA-cj93-chg6-vgv8 CVE-2026-48155 MODERATE pypdf: Possible large memory usage for large offsets for layout mode text
GHSA-x284-j5p8-9c5p CVE-2026-41314 MODERATE pypdf: Manipulated FlateDecode image dimensions can exhaust RAM
GHSA-4pxv-j86v-mhcw CVE-2026-41313 MODERATE pypdf: Possible long runtimes for wrong size values in incremental mode
GHSA-7gw9-cf7v-778f CVE-2026-41312 MODERATE pypdf: Manipulated FlateDecode predictor parameters can exhaust RAM
GHSA-jj6c-8h6c-hppx CVE-2026-41168 MODERATE pypdf has long runtimes for wrong size values in cross-reference and object streams
GHSA-3crg-w4f6-42mx CVE-2026-40260 MODERATE pypdf: Manipulated XMP metadata entity declarations can exhaust RAM
GHSA-87mj-5ggw-8qc3 CVE-2026-33699 MODERATE pypdf: Possible infinite loop during recovery attempts in DictionaryObject.read_from_stream
GHSA-qpxp-75px-xjcp CVE-2026-33123 MODERATE pypdf has inefficient decoding of array-based streams
GHSA-hqmh-ppp3-xvm7 CVE-2026-31826 MODERATE pypdf: manipulated stream length values can exhaust RAM
GHSA-9m86-7pmv-2852 CVE-2026-28804 MODERATE pypdf vulnerable to inefficient decoding of ASCIIHexDecode streams
GHSA-f2v5-7jq9-h8cg CVE-2026-28351 MODERATE pypdf: Manipulated RunLengthDecode streams can exhaust RAM
GHSA-x7hp-r3qg-r3cj CVE-2026-27888 MODERATE pypdf: Manipulated FlateDecode XFA streams can exhaust RAM
GHSA-2rw7-x74f-jg35 CVE-2026-27628 LOW pypdf has a possible infinite loop when loading circular /Prev entries in cross-reference streams
GHSA-9mvc-8737-8j8h CVE-2026-27026 MODERATE pypdf possibly has long runtimes for malformed FlateDecode streams
GHSA-wgvp-vg3v-2xq3 CVE-2026-27025 MODERATE pypdf has possible long runtimes/large memory usage for large /ToUnicode streams
GHSA-996q-pr4m-cvgq CVE-2026-27024 MODERATE pypdf has a possible infinite loop when processing TreeObject
GHSA-2q4j-m29v-hq73 CVE-2026-24688 MODERATE pypdf has possible Infinite Loop when processing outlines/bookmarks
GHSA-m449-cwjh-6pw7 CVE-2025-66019 MODERATE pypdf's LZWDecode streams be manipulated to exhaust RAM
GHSA-4f6g-68pf-7vhv CVE-2026-22691 LOW pypdf has possible long runtimes for malformed startxref
GHSA-4xc4-762w-m6cg CVE-2026-22690 LOW pypdf has possible long runtimes for missing /Root object with large /Size values
GHSA-jfx9-29x2-rv3j CVE-2025-62708 MODERATE pypdf can exhaust RAM via manipulated LZWDecode streams
GHSA-vr63-x8vc-m265 CVE-2025-62707 MODERATE pypdf possibly loops infinitely when reading DCT inline images without EOF marker
GHSA-7hfw-26vp-jp8m CVE-2025-55197 MODERATE PyPDF's Manipulated FlateDecode streams can exhaust RAM
GHSA-wjcc-cq79-p63f CVE-2023-46250 MODERATE Possible Infinite Loop when PdfWriter(clone_from) is used with a PDF
GHSA-4vvm-4w3v-6mr8 CVE-2023-36464 MODERATE pypdf and PyPDF2 possible Infinite Loop when a comment isn't followed by a character

CVE-2026-102999 at a Glance

CVE Identifier CVE-2026-102999
GHSA Identifier GHSA-v247-6f48-mgcj
Severity HIGH
CVSS v3.1 Base Score N/A
CWE Classification CWE-400: Uncontrolled Resource Consumption
Affected Product pypdf
Package Ecosystem PyPI
Published Date
Last Updated

How to Fix CVE-2026-102999

To remediate this vulnerability, upgrade all affected pypdf dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

pypdf fixed: 6.19.0
pip install pypdf>=6.19.0
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

pip show pypdf

How to Check if You Are Affected

To determine whether your Python environment is affected by CVE-2026-102999, inspect your installed packages using pip:

pip show pypdf

Analyze the terminal output to locate any version of pypdf in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 6.19.0), your application is affected.

Note: The pip show pypdf command checks currently installed packages in your active Python environment.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-400: Uncontrolled Resource Consumption, where the product does not properly control the allocation and maintenance of a limited resource. In pypdf, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing the embedded files through the dictionary-based API. ### Patches This has been fixed in [pypdf==6.19.0](https://github.com/py-pdf/pypdf/releases/tag/6.19.0). ### Workarounds If you cannot upgrade yet, consider applying the changes from PR [#4081](https://github.com/py-pdf/pypdf/pull/4081).

CVE-2026-102999 Affected pypdf Versions

1 component(s)
Fixed Versions:
6.19.0
Product / Package Ecosystem Affected Versions Fixed Version
pypdf
PyPI
< 6.19.0
6.19.0

References

Frequently Asked Questions

What is CVE-2026-102999?
CVE-2026-102999 is a security vulnerability in pypdf involving Possible long runtimes with large amount of embedded files under CWE-400: Uncontrolled Resource Consumption.
Which pypdf versions are affected?
Affected versions include releases prior to 6.19.0 across affected packages: pypdf.
What version fixes CVE-2026-102999?
Upgrading to 6.19.0 (or the latest patched release for your respective branch) resolves the vulnerability.
Is pypdf affected?
Yes, pypdf is affected in releases prior to 6.19.0. Upgrade your dependency to 6.19.0 or later.
What CWE is associated with CVE-2026-102999?
CVE-2026-102999 is classified under CWE-400: Uncontrolled Resource Consumption (The product does not properly control the allocation and maintenance of a limited resource.).
How can I check PyPI dependencies for CVE-2026-102999?
Run the dependency tree command: 'pip show pypdf'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-v247-6f48-mgcj",
  "modified" : "2026-10-01T15:07:35Z",
  "published" : "2026-10-01T15:07:35Z",
  "aliases" : [ "CVE-2026-102999" ],
  "summary" : "pypdf: Possible long runtimes with large amount of embedded files",
  "details" : "### Impact\n\nAn attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing the embedded files through the dictionary-based API.\n\n### Patches\n\nThis has been fixed in [pypdf==6.19.0](https://github.com/py-pdf/pypdf/releases/tag/6.19.0).\n\n### Workarounds\n\nIf you cannot upgrade yet, consider applying the changes from PR [#4081](https://github.com/py-pdf/pypdf/pull/4081).",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "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"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "PyPI",
      "name" : "pypdf"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "6.19.0"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/py-pdf/pypdf/security/advisories/GHSA-v247-6f48-mgcj"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-102999"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/py-pdf/pypdf/pull/4081"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/py-pdf/pypdf/commit/6b10556d13609a68f9ed18bb29fdd8bba88eb2c3"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/py-pdf/pypdf"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/py-pdf/pypdf/releases/tag/6.19.0"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-400", "CWE-407" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-10-01T15:07:35Z",
    "nvd_published_at" : "2026-09-30T21:17:07Z"
  }
}