Patch Forecast
Amber warning
Patch this week.

CVE-2026-102998 · GHSA-php9-fj8v-98fj

pypdf: Possible long runtimes when generating appearance streams

Risk score
60/100
CVSS
7.5 v3.1
Exploit chance (30 days)
0.3%
Published
30 Sep 2026

Open in the live forecast Today's forecast

What to know

What it is
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 excess…
Affected
pypdf (pip) < 6.19.0
Fix
Upgrade pypdf to 6.19.0 or later.
Exploitation
No known exploitation

Story map

Story map: pypdfTHE FLAWSTHE FIXCVE-2026-102998Possible long runtimes whengenerating appearance streamsCVSS 7.5 · EPSS 0%CVE-2026-102993Possible large memory usagewhen retrieving Roman pagelabelsCVSS 7.5 · EPSS 0%CVE-2026-102999Possible long runtimes withlarge amount of embedded filesCVSS 7.5 · EPSS 0%CVE-2026-103000Possible large memory usagewhen retrieving alphabeticalpage labelsCVSS 7.5 · EPSS 0%Upgrade pypdf6.19.0 · 6.17.0or later on your release lineWho is exposedpypdf (pip) < 6.17.0AMBER · PATCH THIS WEEKpypdfpypdf is a free and open-sourcepure-python PDF library. Priorto 6.17.0, a crafted PDF canprovide unusually large Romanpage-label values that causepypdf/_page_labels.py togenerate excessively large…Where it standsNo known exploitationCONNECTS TOSame weaknessDenial of service (CWE-400)250 other warnings in 30 days →Same productEarlier pypdf warnings4 in the last 90 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

pypdf: Amber, patch this week. 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 potentiall…

The flaws

  • CVE-2026-102998: Possible long runtimes when generating appearance streams (CVSS 7.5 · EPSS 0%)
  • CVE-2026-102993: Possible large memory usage when retrieving Roman page labels (CVSS 7.5 · EPSS 0%)
  • CVE-2026-102999: Possible long runtimes with large amount of embedded files (CVSS 7.5 · EPSS 0%)
  • CVE-2026-103000: Possible large memory usage when retrieving alphabetical page labels (CVSS 7.5 · EPSS 0%)

The fix

Upgrade pypdf: 6.19.0 · 6.17.0 or later on your release line

Who is exposed: pypdf (pip) < 6.17.0

Where it stands

  • No known exploitation

Connects to

Why it is Amber

  • CVSS 7.5 high
  • Remotely exploitable without logging in
  • On your watchlist: PyPI

Affected packages

PackageEcosystemVulnerableFixed in
pypdfpip< 6.19.06.19.0

References

Original description

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.

Last activity 30 Sep 2026. Patch Forecast updates every hour.