LOW 3.3

CVE-2026-49460: pypdf Resource Exhaustion Vulnerability – Patch Advisory

pypdf, a widely-used open-source Python library for PDF processing, contains a vulnerability in versions prior to 6.12.2 that allows an attacker to craft a malicious PDF file causing the library to consume excessive CPU resources and run for an unusually long time. The attack specifically targets PDFs that use compressed streams with a FlateDecode filter and PNG predictors. While this does not result in data theft or corruption, it can degrade application performance or be used in denial-of-service scenarios where PDF processing is part of a critical workflow.

Source data · NVD / CISA · public domain

CVSS
3.1 · 3.3 LOW · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Weaknesses (CWE)
CWE-407
Affected products
1 configuration(s)
Published / Modified
2026-06-22 / 2026-06-25

NVD description (verbatim)

pypdf is a free and open-source pure-python PDF library. Prior to 6.12.2, an attacker who uses this vulnerability can craft a PDF which leads to long runtimes. This requires accessing a stream which uses the /FlateDecode filter with a PNG predictor. This vulnerability is fixed in 6.12.2.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-49460 is a resource exhaustion vulnerability in pypdf's stream decompression handling. When a PDF contains a stream with the /FlateDecode filter combined with PNG predictor parameters, improper processing logic causes the library to perform excessive computations during decompression. The vulnerability is classified under CWE-407 (Inefficient Algorithmic Complexity) and has a CVSS 3.1 score of 3.3 (LOW severity). The attack vector is local, requires low privilege, and does not require user interaction; however, impact is limited to availability degradation rather than confidentiality or integrity compromise.

Business impact

Organizations relying on pypdf for document processing workflows may experience service degradation if user-supplied or untrusted PDFs are processed without rate-limiting or resource controls. In batch processing pipelines, PDF analysis platforms, or document management systems using pypdf, a single malicious PDF could monopolize processing threads and impact throughput. For most applications, the impact is moderate—the affected service slows rather than crashes—but availability-sensitive deployments should prioritize patching. The low CVSS score reflects the requirement for local or application-level access and the absence of data breach risk.

Affected systems

pypdf versions prior to 6.12.2 are vulnerable. Any application using an earlier version of the library to process PDFs, particularly those accepting PDF uploads from untrusted sources, is at risk. This includes document conversion tools, PDF analysis utilities, reporting systems, and any Python-based service that parses PDF streams. Systems running pypdf 6.12.2 or later are not affected.

Exploitability

Exploitation requires crafting a PDF file with specific properties (FlateDecode stream with PNG predictor) and delivering it to an application that uses pypdf to process it. Exploitation does not require network access, authentication bypass, or social engineering; however, the attacker must be able to supply a PDF to the target application. Public exploit code or weaponized proof-of-concepts are not known. The low attack surface and operational impact (slowdown, not crash) reduce real-world exploitation likelihood compared to critical vulnerabilities.

Remediation

Upgrade pypdf to version 6.12.2 or later. This is the definitive and complete fix for the vulnerability. No workarounds or configuration changes mitigate the underlying algorithmic flaw. Organizations should verify their dependency chains to ensure pypdf is updated, particularly in containerized or virtual environments where package versions may be pinned.

Patch guidance

Identify all applications and services using pypdf and check their current version (use `pip show pypdf` or review requirements.txt/setup.py). Update to pypdf 6.12.2 or later using `pip install --upgrade pypdf`. Test in a non-production environment to confirm compatibility with your PDF processing workflows. For applications with long release cycles, plan the update as part of a regular patching cycle; the LOW severity does not mandate emergency change windows but should not be deferred indefinitely. Verify the update in your containerized images and dependency management systems.

Detection guidance

Monitor for unusually long runtimes or high CPU consumption during PDF processing, particularly if the application processes user-uploaded or external PDFs. Log and analyze PDF metadata to identify streams with /FlateDecode filters and PNG predictors, though this requires access to application-level processing logic. Implement timeout policies on PDF processing tasks to fail safely if operations exceed expected duration. Intrusion detection systems are unlikely to detect this attack in network traffic; focus on application-layer monitoring and performance baselines.

Why prioritize this

CVE-2026-49460 merits standard priority patching due to its low CVSS score and limited real-world exploitability. However, it should not be deferred indefinitely. Organizations processing untrusted PDFs or running mission-critical document workflows should prioritize the upgrade within the next 30–60 days. For applications in isolated environments or processing only trusted PDFs, the timeline can extend to the next regular patch cycle. The absence of KEV status and public exploits further reduces urgency.

Risk score, explained

The CVSS 3.1 score of 3.3 (LOW) reflects the attack vector (local or application-supplied), low privilege requirement, and lack of confidentiality or integrity impact. The availability impact is limited because the attack causes slowdown rather than outright denial of service; systems remain operational and data is not lost. The score appropriately downweights the vulnerability given that successful exploitation requires control over the PDF input, reducing likelihood in environments with strict input validation or access controls.

Frequently asked questions

Can this vulnerability be exploited over the network?

No. The attack vector is local (AV:L in the CVSS vector), meaning the attacker must supply the malicious PDF directly to the target application. While an application may accept PDFs over the network, the vulnerability itself is triggered only after the PDF reaches the pypdf library on the target machine. Firewall rules or network segmentation do not prevent exploitation if the application accepts PDFs.

Does this vulnerability result in data theft or file corruption?

No. The vulnerability is purely an availability issue (CWE-407: Inefficient Algorithmic Complexity). It causes excessive CPU and memory use, slowing or freezing the PDF processing operation. No confidentiality or integrity of the PDF or application data is compromised.

Which applications are most at risk?

Applications that process PDFs from untrusted sources—such as document management systems, PDF conversion services, batch processing pipelines, or file analysis platforms—are most at risk. Applications that process only known, internal, or pre-validated PDFs face lower risk. The risk is proportional to the volume and source diversity of PDFs processed.

Is there a workaround if I cannot patch immediately?

No robust workaround exists. You can implement rate-limiting or timeouts on PDF processing tasks to fail safely if operations exceed a threshold, but this masks the symptom rather than fixing the root cause. The definitive fix is upgrading pypdf to 6.12.2 or later.

This analysis is based on the CVE description and CVSS scoring provided as of the publication date. Verify all details, including patch availability and affected versions, against the official pypdf project advisory and release notes. No exploit code or detailed attack methodology is provided herein. Organizations should assess risk based on their specific use of pypdf and their exposure to untrusted PDF sources. This advisory does not constitute legal or compliance advice. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).