Skip to content
OpenAdvisories

Vendor

py-pdf

74 known vulnerabilities.

py-pdf at a glance

Last 12 months
66
Critical · all time
0
Exploited · all time
0
Public exploit · all time
1
New vulnerabilities per month · last 12 months
0 10 20 December 2025: 0 vulnerabilities Dec 2025 January 2026: 3 vulnerabilities February 2026: 6 vulnerabilities March 2026: 4 vulnerabilities Mar April 2026: 5 vulnerabilities May 2026: 3 vulnerabilities June 2026: 6 vulnerabilities Jun July 2026: 4 vulnerabilities August 2026: 3 vulnerabilities September 2026: 11 vulnerabilities Sep October 2026: 20 vulnerabilities November 2026: 0 vulnerabilities
Show as table
MonthVulnerabilitiesCritical
Nov 202600
Oct 2026200
Sep 2026110
Aug 202630
Jul 202640
Jun 202660
May 202630
Apr 202650
Mar 202640
Feb 202660
Jan 202630
Dec 202500
Nov 202510
Oct 202520
Sep 202500
Aug 202510
Jul 202500
Jun 202500
May 202500
Apr 202500
Mar 202500
Feb 202500
Jan 202500
Dec 202400

74 results · Feed

  • High 7.1

    pypdf: Possible large memory usage when parsing cross-reference streams

    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 …

  • High 7.1

    pypdf: Possible long runtimes/large memory usage for encrypted PDF files

    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 …

  • High 7.1

    pypdf: Possible large memory usage for exceptions in strict mode

    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 …

  • High 7.1

    pypdf: Possible long runtimes when retrieving page labels

    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 independe…

  • High 7.1

    pypdf: Possible infinite loop when cloning dictionaries

    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 …

  • High 7.1

    pypdf: Possible large memory usage when parsing page tree

    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 wit…

  • High 7.1

    pypdf: Possible infinite loop when hitting EOF in standard xref table during trailer search

    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 repeat…

  • High 7.1

    pypdf: Possible long runtimes for repeated malformed cross-reference entries (Follow-up)

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an incomplete remediation for repeated malformed cross-reference entries in GHSA-55h5-xmcq-c37v could still trigger a complete PDF stream reload during each recovery attempt even when a…

  • High 7.1

    pypdf: Possible long runtimes for large xref table header limits

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF with a standard cross-reference table whose declared entry count exceeds what the file can contain, causing excessive processing and long runtimes when the f…

  • High 7.1

    pypdf: Possible long runtimes for repeated references to the same missing object

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF that repeatedly references the same nonexistent indirect object, causing relevant file parts such as pages to trigger repeated full-file recovery loads and l…

  • Medium 6.5

    fpdf2: Exponential SVG '<use>' expansion causes CPU and memory exhaustion in 'FPDF.image()'

    fpdf2 is a PDF creation library for Python. From 2.5.0 until 2.8.8, fpdf2's SVGObject.build_xref() passes nested SVG <use> references to GraphicsContext.add_item(), whose default clone=True deep-copy behavior copies the complete referenced graphics tree durin…

  • Medium 5.8

    fpdf2 implicitly loads external URLs and local image paths when rendering attacker-controlled content

    fpdf2 is a PDF creation library for Python. Prior to 2.8.8, fpdf2's shared image loader automatically dereferences attacker-controlled HTTP(S) URLs and raw local paths supplied through FPDF.image(), FPDF.write_html() HTML <img src> values, SVG <image href> or…

  • Medium 6.0

    pypdf: Possible large memory usage for streams with multiple filters

    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 versi…

  • Medium 6.0

    pypdf: Possible infinite loop when hitting EOF in standard xref table

    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 i…

  • Medium 6.0

    pypdf: Possible infinite loop when removing tree items

    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.

  • Medium 6.0

    pypdf: Possible infinite loop in PdfWriter.find_outline_item

    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.

  • Medium 6.0

    pypdf: Possible large memory usage when parsing content streams

    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.

  • Medium 6.0

    pypdf: Possible large memory usage when parsing arrays and dictionaries

    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.

  • Medium 6.0

    pypdf: Possible long runtimes/large memory usage when retrieving form fields

    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.

  • Low 2.3

    pypdf: Unvalidated JPEG image data loading

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.1, an attacker can craft a PDF containing image data labeled with the /DCTDecode filter that causes Pillow to select and invoke an unintended image parser when the image is loaded. Environ…

  • High 8.7

    pypdf: Possible large memory usage when retrieving alphabetical page labels

    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 r…

  • High 8.7

    pypdf: Possible long runtimes with large amount of embedded files

    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, producin…

  • High 8.7

    pypdf: Possible long runtimes when generating appearance streams

    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…

  • High 8.7

    pypdf: Possible long runtimes for partially malformed FlateDecode streams (Follow-up)

    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 c…

  • High 8.7

    pypdf: Possible large memory usage when parsing font data

    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 th…

  • High 8.7

    pypdf: Possible large memory usage for large /ToUnicode streams (Follow-up 2)

    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 …

  • High 8.7

    pypdf: Possible long runtimes/large memory usage when parsing indirect objects

    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 t…

  • High 8.7

    pypdf: Possible large memory usage when retrieving Roman page labels

    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 p…

  • Medium 4.8

    pypdf: Possible long runtimes/large memory usage when extracting XForm objects

    pypdf is a free and open-source pure-python PDF library. Prior to 6.16.1, an attacker can craft a PDF that causes pypdf/_page.py PageObject._extract_text and PageObject.extract_xform_text to traverse a directed acyclic graph of reused form XObjects in which e…

  • Medium 4.8

    pypdf: Possible long runtimes/large memory usage when retrieving outlines

    pypdf is a free and open-source pure-python PDF library. Prior to 6.16.1, an attacker can craft a PDF that causes pypdf/_doc_common.py _get_outline to consume long runtimes and large amounts of memory when retrieving document outlines with large numbers of en…

  • Medium 6.9

    pypdf: Possible infinite loop for TreeObject.insert_child

    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 inse…

  • Medium 6.9

    pypdf: Inefficient handling of non-whitespace inputs in read_until_whitespace

    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 funct…

  • Medium 4.8

    pypdf: Possible large memory usage for large /ToUnicode streams

    pypdf is a free and open-source pure-python PDF library. Prior to 6.15.0, a crafted PDF can cause large memory consumption when pypdf/_cmap.py function parse_bfrange parses unusually large source-code or destination-string tokens in a font /ToUnicode CMap dur…

  • Medium 4.8

    pypdf: Possible long runtimes/large memory usage for large CID font width ranges

    pypdf is a free and open-source pure-python PDF library. Prior to 6.15.0, a crafted PDF can cause long runtimes and large memory consumption when pypdf/_font.py function Font._collect_cid_character_widths expands unusually large CID font /W width ranges or ex…

  • High 8.7

    pypdf: Possible infinite loop for not terminated inline images

    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 extractin…

  • High 8.7

    pypdf: Possible infinite loop for not terminated inline images (ASCII85 and ASCIIHex filter)

    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 a…

  • Medium 6.9

    pypdf: Possible long runtimes for repeated malformed cross-reference entries

    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 …

  • Medium 6.9

    pypdf: Possible large memory usage for wrong image dimensions

    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 i…

  • Medium 6.9

    pypdf: Missing stream length values ignore defined limits

    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. T…

  • Medium 6.9

    pypdf: Possible infinite loop when processing threads/articles in writer

    pypdf is a free and open-source pure-python PDF library. Prior to 6.13.1, an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires merging a file with threads/articles into a writer. This vulnerability is fixed in…