CVE-2026-28351: CWE-400: Uncontrolled Resource Consumption in py-pdf pypdf
CVE-2026-28351 is a medium severity vulnerability in the pypdf library prior to version 6. 7. 4 that allows an attacker to cause uncontrolled resource consumption by crafting a malicious PDF using the RunLengthDecode filter. This leads to excessive memory usage during parsing, potentially resulting in denial of service. No authentication or user interaction is required to exploit this vulnerability, and it can be triggered remotely by processing a malicious PDF. The issue has been fixed in pypdf version 6. 7. 4, and a workaround involves applying changes from PR #3664. Although no known exploits are reported in the wild, organizations using vulnerable pypdf versions in automated PDF processing or document management systems should prioritize patching. The vulnerability affects any system that uses pypdf versions earlier than 6.
AI Analysis
Technical Summary
CVE-2026-28351 is a vulnerability classified under CWE-400 (Uncontrolled Resource Consumption) affecting the pypdf library, a widely used pure-Python PDF processing tool. The flaw exists in versions prior to 6.7.4 and is triggered when parsing PDF content streams that utilize the RunLengthDecode filter. An attacker can craft a specially designed PDF file that causes the library to consume excessive amounts of memory during decoding, leading to potential denial of service conditions such as application crashes or system resource exhaustion. The vulnerability does not require any authentication or user interaction, making it remotely exploitable by simply processing a malicious PDF document. The root cause is insufficient control over resource allocation during the decoding process, allowing the attacker to amplify memory usage. The issue was addressed in pypdf version 6.7.4, which includes fixes to limit resource consumption during RunLengthDecode processing. As a temporary mitigation, applying the changes from pull request #3664 can reduce risk. No public exploits have been reported yet, but the vulnerability poses a risk to any Python applications that automatically parse or handle untrusted PDF files using vulnerable pypdf versions. The CVSS 4.0 vector indicates network attack vector, low attack complexity, no privileges or user interaction required, and a medium impact on availability, resulting in a score of 6.9.
Potential Impact
The primary impact of CVE-2026-28351 is denial of service through resource exhaustion. Organizations that use pypdf in automated workflows, document processing pipelines, or web services that accept PDF uploads are at risk of having their systems overwhelmed by maliciously crafted PDFs. This can lead to application crashes, degraded performance, or complete service outages, affecting availability and potentially causing operational disruptions. Since the vulnerability does not compromise confidentiality or integrity directly, the main concern is service reliability. However, denial of service in critical document processing systems could indirectly affect business continuity and user trust. The ease of exploitation without authentication or user interaction increases the threat level, especially for internet-facing services. Although no exploits are currently known in the wild, the widespread use of pypdf in Python applications globally means many organizations could be exposed if they have not updated to version 6.7.4 or applied mitigations. This vulnerability could also be leveraged as part of multi-stage attacks to distract or degrade defenses.
Mitigation Recommendations
To mitigate CVE-2026-28351, organizations should immediately upgrade all instances of the pypdf library to version 6.7.4 or later, where the vulnerability is fixed. For environments where immediate upgrade is not feasible, applying the changes from pull request #3664 is recommended as a temporary workaround to limit resource consumption during RunLengthDecode processing. Additionally, implement strict input validation and filtering to block or quarantine suspicious PDF files before processing, especially those from untrusted sources. Employ resource usage monitoring and limits (e.g., memory and CPU quotas) on services that parse PDFs to detect and contain abnormal consumption patterns. Consider sandboxing PDF processing components to isolate failures and prevent system-wide impact. Regularly audit and update all dependencies to reduce exposure to known vulnerabilities. Finally, maintain comprehensive logging and alerting to identify potential exploitation attempts early.
Affected Countries
United States, Germany, United Kingdom, France, Japan, South Korea, China, India, Canada, Australia
CVE-2026-28351: CWE-400: Uncontrolled Resource Consumption in py-pdf pypdf
Description
CVE-2026-28351 is a medium severity vulnerability in the pypdf library prior to version 6. 7. 4 that allows an attacker to cause uncontrolled resource consumption by crafting a malicious PDF using the RunLengthDecode filter. This leads to excessive memory usage during parsing, potentially resulting in denial of service. No authentication or user interaction is required to exploit this vulnerability, and it can be triggered remotely by processing a malicious PDF. The issue has been fixed in pypdf version 6. 7. 4, and a workaround involves applying changes from PR #3664. Although no known exploits are reported in the wild, organizations using vulnerable pypdf versions in automated PDF processing or document management systems should prioritize patching. The vulnerability affects any system that uses pypdf versions earlier than 6.
AI-Powered Analysis
Technical Analysis
CVE-2026-28351 is a vulnerability classified under CWE-400 (Uncontrolled Resource Consumption) affecting the pypdf library, a widely used pure-Python PDF processing tool. The flaw exists in versions prior to 6.7.4 and is triggered when parsing PDF content streams that utilize the RunLengthDecode filter. An attacker can craft a specially designed PDF file that causes the library to consume excessive amounts of memory during decoding, leading to potential denial of service conditions such as application crashes or system resource exhaustion. The vulnerability does not require any authentication or user interaction, making it remotely exploitable by simply processing a malicious PDF document. The root cause is insufficient control over resource allocation during the decoding process, allowing the attacker to amplify memory usage. The issue was addressed in pypdf version 6.7.4, which includes fixes to limit resource consumption during RunLengthDecode processing. As a temporary mitigation, applying the changes from pull request #3664 can reduce risk. No public exploits have been reported yet, but the vulnerability poses a risk to any Python applications that automatically parse or handle untrusted PDF files using vulnerable pypdf versions. The CVSS 4.0 vector indicates network attack vector, low attack complexity, no privileges or user interaction required, and a medium impact on availability, resulting in a score of 6.9.
Potential Impact
The primary impact of CVE-2026-28351 is denial of service through resource exhaustion. Organizations that use pypdf in automated workflows, document processing pipelines, or web services that accept PDF uploads are at risk of having their systems overwhelmed by maliciously crafted PDFs. This can lead to application crashes, degraded performance, or complete service outages, affecting availability and potentially causing operational disruptions. Since the vulnerability does not compromise confidentiality or integrity directly, the main concern is service reliability. However, denial of service in critical document processing systems could indirectly affect business continuity and user trust. The ease of exploitation without authentication or user interaction increases the threat level, especially for internet-facing services. Although no exploits are currently known in the wild, the widespread use of pypdf in Python applications globally means many organizations could be exposed if they have not updated to version 6.7.4 or applied mitigations. This vulnerability could also be leveraged as part of multi-stage attacks to distract or degrade defenses.
Mitigation Recommendations
To mitigate CVE-2026-28351, organizations should immediately upgrade all instances of the pypdf library to version 6.7.4 or later, where the vulnerability is fixed. For environments where immediate upgrade is not feasible, applying the changes from pull request #3664 is recommended as a temporary workaround to limit resource consumption during RunLengthDecode processing. Additionally, implement strict input validation and filtering to block or quarantine suspicious PDF files before processing, especially those from untrusted sources. Employ resource usage monitoring and limits (e.g., memory and CPU quotas) on services that parse PDFs to detect and contain abnormal consumption patterns. Consider sandboxing PDF processing components to isolate failures and prevent system-wide impact. Regularly audit and update all dependencies to reduce exposure to known vulnerabilities. Finally, maintain comprehensive logging and alerting to identify potential exploitation attempts early.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-02-26T18:38:13.890Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69a2087132ffcdb8a2724a71
Added to database: 2/27/2026, 9:11:13 PM
Last enriched: 2/27/2026, 9:27:33 PM
Last updated: 2/27/2026, 10:12:24 PM
Views: 5
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-28414: CWE-36: Absolute Path Traversal in gradio-app gradio
HighCVE-2026-27939: CWE-287: Improper Authentication in statamic cms
HighCVE-2026-28416: CWE-918: Server-Side Request Forgery (SSRF) in gradio-app gradio
HighCVE-2026-28415: CWE-200: Exposure of Sensitive Information to an Unauthorized Actor in gradio-app gradio
MediumCVE-2026-28411: CWE-288: Authentication Bypass Using an Alternate Path or Channel in LabRedesCefetRJ WeGIA
CriticalActions
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.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.