CVE-2026-102994: pypdf: Possible long runtimes/large memory usage when parsing indirect objects

Published Sep 30, 2026
·
Updated

Impact

An attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires reading a PDF document with long indirect object headers, not terminated by whitespace.

Patches

This has been fixed in pypdf==6.18.0.

Workarounds

If you cannot upgrade yet, consider applying the changes from PR #4055.

Other sources

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 readuntilwhitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.0.

— MITRE

Affected Software

3 affected componentsFixes available
pypi/pypdf<6.18.0
pip/pypdf<6.18.0
6.18.0
Pypdf Project Pypdf<6.18.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/pypdf to a version that resolves this vulnerability.

    Fixed in 6.18.0
  2. Upgrade

    Upgrade pypdf to a version that resolves this vulnerability.

    Fixed in 6.18.0
  3. Compensating control

    If upgrading is not yet possible, apply the changes from PR #4055.

Event History

Sep 30, 2026
CVE Published
via MITRE·07:57 PM
Data Sourced
via MITRE·07:57 PM
DescriptionWeakness
Data Sourced
via NVD·08:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Oct 1, 2026
Advisory Published
via GitHub·03:05 PM
Data Sourced
via GitHub·03:05 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Applications using pypdf versions earlier than 6.18.0 are affected when they parse a crafted PDF. The issue can make the application unavailable through excessive runtime or memory consumption.

2

Does exploitation require authentication or user interaction?

No. The CVSS vector indicates network attack access, low complexity, no privileges required, and no user interaction.

3

What is the recommended remediation?

Upgrade pypdf to version 6.18.0, which fixes the excessive scanning behavior in indirect-object identifiers and generation-number tokens.

4

What can be done if an upgrade cannot happen immediately?

The provided information identifies crafted PDFs as the trigger, so limit or avoid processing untrusted PDFs until pypdf can be upgraded. The data does not provide a more specific configuration workaround.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203