CVE-2026-22690: CWE-400: Uncontrolled Resource Consumption in py-pdf pypdf
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses this vulnerability can craft a PDF which leads to possibly long runtimes for actually invalid files. This can be achieved by omitting the /Root entry in the trailer, while using a rather large /Size value. Only the non-strict reading mode is affected. This issue has been patched in version 6.6.0.
AI Analysis
Technical Summary
CVE-2026-22690 is a resource exhaustion vulnerability classified under CWE-400 affecting the pypdf library, a pure Python PDF processing tool widely used for reading and manipulating PDF files. The issue occurs in versions prior to 6.6.0 when the library processes PDF files that omit the mandatory /Root entry in the trailer dictionary but specify a large /Size value. In non-strict reading mode, this malformed PDF causes the parser to enter a state where it attempts to process an excessive number of objects, leading to prolonged runtimes and high CPU consumption. This uncontrolled resource consumption can degrade system performance or cause denial-of-service conditions in applications relying on pypdf for PDF parsing. The vulnerability requires no authentication or user interaction and can be triggered remotely by supplying a crafted PDF file. The flaw has been addressed in pypdf 6.6.0 by improving validation and handling of the trailer dictionary entries to prevent excessive processing. No public exploits have been reported, and the CVSS v4.0 base score is 2.7, reflecting low severity due to limited impact and ease of mitigation.
Potential Impact
For European organizations, the primary impact is potential denial-of-service through resource exhaustion when processing maliciously crafted PDFs with vulnerable pypdf versions. This can affect document management systems, automated PDF processing pipelines, or any service that parses PDFs using pypdf in non-strict mode. While the vulnerability does not lead to code execution or data leakage, prolonged CPU usage can degrade service availability and performance, impacting business operations. Organizations handling large volumes of PDFs, such as legal firms, financial institutions, government agencies, and publishing companies, may experience service disruptions or increased operational costs due to resource strain. The low CVSS score indicates limited risk, but the threat is relevant where pypdf is embedded in critical workflows without strict input validation or sandboxing.
Mitigation Recommendations
European organizations should upgrade all instances of pypdf to version 6.6.0 or later to eliminate this vulnerability. Where immediate upgrade is not feasible, implement strict input validation to reject PDFs missing the /Root entry or with suspiciously large /Size values before processing. Employ sandboxing or resource-limiting mechanisms (e.g., CPU and memory quotas) around PDF parsing services to contain potential resource exhaustion. Monitor CPU and memory usage patterns for anomalies during PDF processing to detect exploitation attempts. Additionally, configure pypdf to use strict reading mode where possible, as the vulnerability affects only non-strict mode. Regularly audit dependencies and maintain an up-to-date software bill of materials to ensure timely patching of such vulnerabilities.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Italy, Spain
CVE-2026-22690: CWE-400: Uncontrolled Resource Consumption in py-pdf pypdf
Description
pypdf is a free and open-source pure-python PDF library. Prior to version 6.6.0, pypdf has possible long runtimes for missing /Root object with large /Size values. An attacker who uses this vulnerability can craft a PDF which leads to possibly long runtimes for actually invalid files. This can be achieved by omitting the /Root entry in the trailer, while using a rather large /Size value. Only the non-strict reading mode is affected. This issue has been patched in version 6.6.0.
AI-Powered Analysis
Technical Analysis
CVE-2026-22690 is a resource exhaustion vulnerability classified under CWE-400 affecting the pypdf library, a pure Python PDF processing tool widely used for reading and manipulating PDF files. The issue occurs in versions prior to 6.6.0 when the library processes PDF files that omit the mandatory /Root entry in the trailer dictionary but specify a large /Size value. In non-strict reading mode, this malformed PDF causes the parser to enter a state where it attempts to process an excessive number of objects, leading to prolonged runtimes and high CPU consumption. This uncontrolled resource consumption can degrade system performance or cause denial-of-service conditions in applications relying on pypdf for PDF parsing. The vulnerability requires no authentication or user interaction and can be triggered remotely by supplying a crafted PDF file. The flaw has been addressed in pypdf 6.6.0 by improving validation and handling of the trailer dictionary entries to prevent excessive processing. No public exploits have been reported, and the CVSS v4.0 base score is 2.7, reflecting low severity due to limited impact and ease of mitigation.
Potential Impact
For European organizations, the primary impact is potential denial-of-service through resource exhaustion when processing maliciously crafted PDFs with vulnerable pypdf versions. This can affect document management systems, automated PDF processing pipelines, or any service that parses PDFs using pypdf in non-strict mode. While the vulnerability does not lead to code execution or data leakage, prolonged CPU usage can degrade service availability and performance, impacting business operations. Organizations handling large volumes of PDFs, such as legal firms, financial institutions, government agencies, and publishing companies, may experience service disruptions or increased operational costs due to resource strain. The low CVSS score indicates limited risk, but the threat is relevant where pypdf is embedded in critical workflows without strict input validation or sandboxing.
Mitigation Recommendations
European organizations should upgrade all instances of pypdf to version 6.6.0 or later to eliminate this vulnerability. Where immediate upgrade is not feasible, implement strict input validation to reject PDFs missing the /Root entry or with suspiciously large /Size values before processing. Employ sandboxing or resource-limiting mechanisms (e.g., CPU and memory quotas) around PDF parsing services to contain potential resource exhaustion. Monitor CPU and memory usage patterns for anomalies during PDF processing to detect exploitation attempts. Additionally, configure pypdf to use strict reading mode where possible, as the vulnerability affects only non-strict mode. Regularly audit dependencies and maintain an up-to-date software bill of materials to ensure timely patching of such vulnerabilities.
Affected Countries
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-01-08T19:23:09.854Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6961dcab19784dcf52e61fb6
Added to database: 1/10/2026, 4:59:23 AM
Last enriched: 1/10/2026, 5:13:58 AM
Last updated: 1/10/2026, 9:40:42 PM
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-0824: Cross Site Scripting in questdb ui
MediumCVE-2025-13393: CWE-918 Server-Side Request Forgery (SSRF) in marceljm Featured Image from URL (FIFU)
MediumCVE-2025-12379: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in averta Shortcodes and extra features for Phlox theme
MediumCVE-2026-0822: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumCVE-2026-0821: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.