CVE-2026-102993: pypdf: Possible large memory usage when retrieving Roman page labels

Published Sep 30, 2026
·
Updated

Impact

An attacker who uses this vulnerability can craft a PDF which leads to large memory consumption. This requires accessing the page labels of a document with large Roman numerals.

Patches

This has been fixed in pypdf==6.17.0.

Workarounds

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

Other sources

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/pagelabels.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.

— MITRE

Affected Software

3 affected componentsFixes available
pypi/pypdf<6.17.0
pip/pypdf<6.17.0
6.17.0
Pypdf Project Pypdf<6.17.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.17.0
  2. Upgrade

    Upgrade pypdf to a version that resolves this vulnerability.

    Fixed in 6.17.0
  3. Compensating control

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

Event History

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

Frequently Asked Questions

1

Which applications are exposed to this issue?

Applications using pypdf before 6.17.0 are exposed if they retrieve page labels from attacker-controlled or otherwise untrusted PDF documents. The impact is excessive memory consumption that can make the application unavailable.

2

What must an attacker do to trigger the problem?

An attacker needs to supply a crafted PDF containing unusually large Roman page-label values. The application must then retrieve the document's page labels for pypdf to generate the excessively large numeral strings.

3

Is a workaround available if updating is delayed?

The provided information identifies upgrading to pypdf 6.17.0 as the fix. It does not specify an alternative workaround; reducing or avoiding retrieval of page labels from untrusted PDFs may limit exposure, but this is not stated as a supported mitigation.

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