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
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
- Same weakness: Denial of service (CWE-400). 250 other warnings in 30 days
- Same product: Earlier pypdf warnings. 4 in the last 90 days
Why it is Amber
- CVSS 7.5 high
- Remotely exploitable without logging in
- On your watchlist: PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| pypdf | pip | < 6.19.0 | 6.19.0 |
References
- https://github.com/advisories/GHSA-php9-fj8v-98fj
- https://github.com/py-pdf/pypdf/security/advisories/GHSA-php9-fj8v-98fj
- https://nvd.nist.gov/vuln/detail/CVE-2026-102998
- https://github.com/py-pdf/pypdf/pull/4087
- https://github.com/py-pdf/pypdf/commit/959467a9b95be83e2dc5ae873ece5f371263ede7
- https://github.com/py-pdf/pypdf/releases/tag/6.19.0
- https://github.com/advisories/GHSA-php9-fj8v-98fj
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.