CVE-20XX-?

py-pdf Pypdf CVEs.

Published CVEs affecting py-pdf Pypdf, ranked by exploit odds.

62 CVEs · updated 2026-11-06 03:49 UTC

  1. CVE-2026-59937

    pypdf is a free and open-source pure-python PDF library. Prior to 6.14.0, an attacker can craft a PDF with repeated malformed cross-reference streams that cause pypdf to spend long runtimes recovering broken cross-reference table entries. This issue is fixed in version 6.14.0.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.6% exploit odds Fix listed
  2. CVE-2026-59935

    pypdf is a free and open-source pure-python PDF library. Prior to 6.14.2, an attacker can craft a PDF with a page content stream containing a not terminated inline image that uses the ASCII85 or ASCIIHex filters, causing an infinite loop during parsing such as when extracting page text. This issue is fixed in version 6.14.2.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.6% exploit odds Fix listed
  3. CVE-2026-59936

    pypdf is a free and open-source pure-python PDF library. Prior to 6.14.1, an attacker can craft a PDF with a page content stream containing a not terminated inline image, causing an infinite loop during inline image end marker detection such as when extracting page text. This issue is fixed in version 6.14.1.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.6% exploit odds Fix listed
  4. CVE-2026-82398

    pypdf is a free and open-source pure-python PDF library. Prior to 6.15.0, an attacker can craft a PDF that causes long runtimes when the pypdf/_utils.py function read_until_whitespace reads a stream containing a long run of bytes without whitespace. The function repeatedly performs immutable bytes concatenation in a one-byte loop, causing quadratic processing cost for the long non-whitespace input. This issue is fixed in version 6.15.0.

    Other Library py-pdf Pypdf

    6.9 MEDIUM 0.5% exploit odds Fix listed
  5. CVE-2026-59938

    pypdf is a free and open-source pure-python PDF library. Prior to 6.14.0, an attacker can craft a PDF with declared image size values that are much too large compared to the actual data, causing large memory usage in pypdf image parsing. This issue is fixed in version 6.14.0.

    Other Library py-pdf Pypdf

    6.9 MEDIUM 0.5% exploit odds Fix listed
  6. CVE-2025-55197

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.0.0, an attacker can craft a PDF which leads to the RAM being exhausted. This requires just reading the file if a series of FlateDecode filters is used on a malicious cross-reference stream. Other content streams are affected on explicit access. This issue has been fixed in 6.0.0. If an update is not possible, a workaround involves including the fixed code from pypdf.filters.decompress into the existing filters file.

    py-pdf Pypdf

    6.6 MEDIUM 0.5% exploit odds Fix listed
  7. CVE-2026-28351

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.7.4, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the content stream using the RunLengthDecode filter. This has been fixed in pypdf 6.7.4. As a workaround, consider applying the changes from PR #3664.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.5% exploit odds Fix listed
  8. CVE-2026-33699

    pypdf is a free and open-source pure-python PDF library. Versions prior to 6.9.2 have a vulnerability in which an attacker can craft a PDF which leads to an infinite loop. This requires reading a file in non-strict mode. This has been fixed in pypdf 6.9.2. If users cannot upgrade yet, consider applying the changes from the patch manually.

    Denial of service Library py-pdf Pypdf

    4.6 MEDIUM 0.5% exploit odds Fix listed
  9. CVE-2026-113792

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, calling PdfWriter.find_outline_item on a crafted PDF with a cyclic outline hierarchy can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.5% exploit odds Fix listed
  10. CVE-2026-113793

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, removing an object from a crafted cyclic PDF tree, such as an outline item, can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.5% exploit odds Fix listed
  11. CVE-2026-24688

    pypdf is a free and open-source pure-python PDF library. An attacker who uses an infinite loop vulnerability that is present in versions prior to 6.6.2 can craft a PDF which leads to an infinite loop. This requires accessing the outlines/bookmarks. This has been fixed in pypdf 6.6.2. If projects cannot upgrade yet, consider applying the changes from PR #3610 manually.

    Denial of service Library py-pdf Pypdf

    5.1 MEDIUM 0.4% exploit odds Fix listed
  12. CVE-2026-28804

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.7.5, an attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing a stream which uses the /ASCIIHexDecode filter. This issue has been patched in version 6.7.5.

    Other Library py-pdf Pypdf

    6.9 MEDIUM 0.4% exploit odds Fix listed
  13. CVE-2025-62707

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.1.3, an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires parsing the content stream of a page which has an inline image using the DCTDecode filter. This has been fixed in pypdf version 6.1.3.

    Denial of service Library py-pdf Pypdf

    6.6 MEDIUM 0.4% exploit odds Fix listed
  14. CVE-2025-62708

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.1.3, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the content stream of a page using the LZWDecode filter. This has been fixed in pypdf version 6.1.3.

    Other Library py-pdf Pypdf

    6.6 MEDIUM 0.4% exploit odds Fix listed
  15. CVE-2026-22690

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses this vulnerability can craft a PDF which leads to possibly long runtimes for actually invalid files. This can be achieved by omitting the /Root entry in the trailer, while using a rather large /Size value. Only the non-strict reading mode is affected. This issue has been patched in version 6.6.0.

    Denial of service Library py-pdf Pypdf

    2.7 LOW 0.4% exploit odds Fix listed
  16. CVE-2026-22691

    pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for malformed startxref. An attacker who uses this vulnerability can craft a PDF which leads to possibly long runtimes for invalid startxref entries. When rebuilding the cross-reference table, PDF files with lots of whitespace characters become problematic. Only the non-strict reading mode is affected. Only the non-strict reading mode is affected. This issue has been patched in version 6.6.0.

    Denial of service Library py-pdf Pypdf

    2.7 LOW 0.4% exploit odds Fix listed
  17. CVE-2026-40260

    pypdf is a free and open-source pure-python PDF library. In versions prior to 6.10.0, manipulated XMP metadata entity declarations can exhaust RAM. An attacker who exploits this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the XMP metadata. This issue has been fixed in version 6.10.0.

    Other Library py-pdf Pypdf

    6.9 MEDIUM 0.4% exploit odds Fix listed
  18. CVE-2026-113791

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing a content stream with many small operations, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.4% exploit odds Fix listed
  19. CVE-2026-27888

    pypdf is a free and open-source pure-python PDF library. Prior to 6.7.3, an attacker who uses this vulnerability can craft a PDF which leads to the RAM being exhausted. This requires accessing the `xfa` property of a reader or writer and the corresponding stream being compressed using `/FlateDecode`. This has been fixed in pypdf 6.7.3. As a workaround, apply the patch manually.

    Denial of service Library py-pdf Pypdf

    6.6 MEDIUM 0.4% exploit odds Fix listed
  20. CVE-2026-113790

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.4% exploit odds Fix listed
  21. CVE-2026-27628

    pypdf is a free and open-source pure-python PDF library. Prior to 6.7.2, an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires reading the file. This has been fixed in pypdf 6.7.2. As a workaround, one may apply the patch manually.

    Denial of service Library py-pdf Pypdf

    1.2 LOW 0.4% exploit odds Fix listed
  22. CVE-2026-57204

    pypdf is a free and open-source pure-python PDF library. Prior to 6.13.3, a maliciously crafted PDF can cause DoS. An attacker who uses this vulnerability can craft a PDF which leads to large memory usage, as MAX_DECLARED_STREAM_LENGTH is sometimes ignored. This requires parsing a content stream without a /Length value. This issue has been fixed in version 6.13.3.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.4% exploit odds Fix listed
  23. CVE-2026-33123

    pypdf is a free and open-source pure-python PDF library. Versions prior to 6.9.1 allow an attacker to craft a malicious PDF which leads to long runtimes and/or large memory usage. Exploitation requires accessing an array-based stream with many entries. This issue has been fixed in version 6.9.1.

    Denial of service Library py-pdf Pypdf

    5.1 MEDIUM 0.4% exploit odds Fix listed
  24. CVE-2026-113794

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, an attacker can craft an incomplete PDF that ends inside a standard cross-reference table, causing pypdf to mishandle the unexpected end of file and enter an infinite loop. This issue is fixed in version 6.20.0.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.4% exploit odds Fix listed
  25. CVE-2026-113795

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.4% exploit odds Fix listed
  26. CVE-2026-103000

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF can provide unusually large alphabetical page-label values that cause pypdf/_page_labels.py to generate strings beyond a reasonable page-label length when an application retrieves document page labels, consuming excessive memory and potentially making the application unavailable. This issue is fixed in version 6.19.0.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.4% exploit odds Fix listed
  27. CVE-2026-102999

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF containing many embedded files can cause the dictionary-based attachments API in pypdf/_doc_common.py to reparse the full attachment list for each content lookup, producing repeated work and long runtimes when an application accesses the embedded-file mapping. This issue is fixed in version 6.19.0.

    Denial of service Device py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  28. CVE-2026-102993

    pypdf is a free and open-source pure-python PDF library. Prior to 6.17.0, a crafted PDF can provide unusually large Roman page-label values that cause pypdf/_page_labels.py to generate excessively large numeral strings when an application retrieves document page labels, consuming large amounts of memory and potentially making the application unavailable. This issue is fixed in version 6.17.0.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  29. CVE-2026-102994

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.0, a crafted PDF containing indirect-object identifiers or generation-number tokens that continue for a long time without whitespace can cause pypdf/_reader.py and pypdf/generic/_base.py to scan excessive input through read_until_whitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.0.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  30. CVE-2026-102995

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can place unusually large source-code or destination-string tokens in a font /ToUnicode mapping, causing pypdf/_cmap.py parse_bfchar to decode and retain oversized values during operations such as text extraction and consume excessive memory. This is a second follow-up to earlier /ToUnicode resource-consumption fixes and is limited to the remaining token-length path. This issue is fixed in version 6.18.1.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  31. CVE-2026-102996

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can provide a TrueType or Type1 simple font with an unusually large /Widths array, causing pypdf/_font.py Font._collect_tt_t1_character_widths to process entries beyond the 256 character codes meaningful for a simple font and consume excessive memory during operations such as text extraction. This issue is fixed in version 6.18.1.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  32. CVE-2026-102997

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF containing a partially malformed /FlateDecode stream with padded data can force pypdf/filters.py to use inefficient byte-by-byte decompression while the earlier recovery counter fails to advance for bytes that successfully decode, causing long runtimes and application unavailability. This is a residual issue after the malformed FlateDecode recovery fix. This issue is fixed in version 6.18.1.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  33. CVE-2026-102998

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF with form field values can cause pypdf/generic/_appearance_stream.py appearance-stream generation to repeat invariant selection-data work inside a loop when an application updates fields with flattening enabled, resulting in excessive runtimes and application unavailability. This issue is fixed in version 6.19.0.

    Denial of service Library py-pdf Pypdf

    8.7 HIGH 0.3% exploit odds Fix listed
  34. CVE-2026-113789

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.

    Denial of service Library py-pdf Pypdf

    6.0 MEDIUM 0.3% exploit odds Fix listed
  35. CVE-2026-41168

    pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions prior to 6.10.1 can craft a PDF which leads to long runtimes. This requires cross-reference streams with wrong large `/Size` values or object streams with wrong large `/N` values. This has been fixed in pypdf 6.10.1. As a workaround, one may apply the changes from the patch manually.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.3% exploit odds Fix listed
  36. CVE-2026-119209

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive memory while opening a crafted PDF containing cross-reference streams that declare very large entry counts. Highly compressible streams and /Prev chains can multiply the number of parsed entries across a document, while negative /Index counts can bypass the existing per-stream clamp. This issue is fixed in version 6.21.3.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.3% exploit odds Fix listed
  37. CVE-2026-41312

    pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions prior to 6.10.2 can craft a PDF which leads to the RAM being exhausted. This requires accessing a stream compressed using `/FlateDecode` with a `/Predictor` unequal 1 and large predictor parameters. This has been fixed in pypdf 6.10.2. As a workaround, one may apply the changes from the patch manually.

    Other Library py-pdf Pypdf

    4.8 MEDIUM 0.2% exploit odds Fix listed
  38. CVE-2026-41314

    pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions prior to 6.10.2 can craft a PDF which leads to the RAM being exhausted. This requires accessing an image using `/FlateDecode` with large size values. This has been fixed in pypdf 6.10.2. As a workaround, one may apply the changes from the patch manually.

    Other Library py-pdf Pypdf

    4.8 MEDIUM 0.2% exploit odds Fix listed
  39. CVE-2026-119203

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  40. CVE-2026-119204

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can consume excessive memory while parsing a crafted PDF page tree containing many shared resources. Page-tree flattening copies page dictionary and inherited resource entries without a document-wide entry budget, allowing the crafted resource structure to cause disproportionate allocations. This issue is fixed in version 6.21.4.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  41. CVE-2026-119205

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop when cloning or duplicating a crafted cyclic DictionaryObject. Clone traversal checked generated destination references rather than the original source references, allowing some source cycles to evade the visited-object check. This issue is fixed in version 6.21.4.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  42. CVE-2026-119206

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can take excessive time to retrieve page labels from a crafted PDF containing a flat page-label number tree with many ranges. The page_labels property resolves each page independently and repeatedly scans the same /Nums array from the beginning, causing work to grow with both the page count and the number of label ranges. This issue is fixed in version 6.21.3.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  43. CVE-2026-119207

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive memory when strict mode loads a crafted invalid PDF dictionary. Nested parsing failures add repeated exception text to newly raised errors, allowing a small malformed dictionary to amplify into very large error messages. This issue is fixed in version 6.21.3.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  44. CVE-2026-119208

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. Even after successful decryption, page-count retrieval trusts the unvalidated declared count instead of walking the page tree, allowing the attacker-controlled value to drive excessive work and memory use. This issue is fixed in version 6.21.3.

    Denial of service Library py-pdf Pypdf

    7.1 HIGH 0.2% exploit odds Fix listed
  45. CVE-2026-41313

    pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions prior to 6.10.2 can craft a PDF which leads to long runtimes. This requires loading a PDF with a large trailer `/Size` value in incremental mode. This has been fixed in pypdf 6.10.2. As a workaround, one may apply the changes from the patch manually.

    Denial of service Library py-pdf Pypdf

    4.8 MEDIUM 0.2% exploit odds Fix listed
  46. CVE-2026-31826

    pypdf is a free and open-source pure-python PDF library. Prior to 6.8.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing a content stream with a rather large /Length value, regardless of the actual data length inside the stream. This vulnerability is fixed in 6.8.0.

    Denial of service Library py-pdf Pypdf

    6.8 MEDIUM 0.2% exploit odds Fix listed
  47. CVE-2026-27024

    pypdf is a free and open-source pure-python PDF library. Prior to 6.7.1, an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires accessing the children of a TreeObject, for example as part of outlines. This vulnerability is fixed in 6.7.1.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.2% exploit odds Fix listed
  48. CVE-2026-27025

    pypdf is a free and open-source pure-python PDF library. Prior to 6.7.1, an attacker who uses this vulnerability can craft a PDF which leads to long runtimes and large memory consumption. This requires parsing the /ToUnicode entry of a font with unusually large values, for example during text extraction. This vulnerability is fixed in 6.7.1.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.2% exploit odds Fix listed
  49. CVE-2026-27026

    pypdf is a free and open-source pure-python PDF library. Prior to 6.7.1, an attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires a malformed /FlateDecode stream, where the byte-by-byte decompression is used. This vulnerability is fixed in 6.7.1.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.2% exploit odds Fix listed
  50. CVE-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 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.

    Denial of service Library py-pdf Pypdf

    6.9 MEDIUM 0.2% exploit odds Fix listed

All CVEs affecting py-pdf Pypdf that appear in CVE.org and NVD, sorted by how likely they are to be exploited (EPSS), with fix status and timeline.