Description
python-cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 49.0.0, when resolving invalid certificate chains that include duplicate copies of self-signed certificates, the processing recursively invokes the same candidate, leading to an exponential blowup. Although the limitation that the chain depth cannot exceed a specified maximum depth prevents unbounded recursion and guarantees termination, an attacker-controlled certificate chain can lead the processing to easily take more than 5s to reject in testing. This amplification could form the basis for a resource exhaustion denial of service attack. The core issue arises in the recursive nature of build_chain_inner, which does not de-duplicate against previously analyzed candidates. As the correctness of validation is not affected, the integrity of a system cannot be compromised through this vector, only its availability. This issue is fixed in 49.0.0.
Published: 2026-08-03
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises when the cryptography library processes certificate chains that contain duplicate self-signed certificates. The recursive build_chain_inner function fails to deduplicate candidates, causing exponential growth in decision paths. This is a CWE-400 Resource Management: Uncontrolled Resource Consumption weakness. Although the algorithm guarantees termination through a maximum depth limit, an attacker can craft a chain that forces the validator to spend excessive time, resulting in a denial-of-service condition. The amplification could form the basis for a resource exhaustion denial of service attack. The flaw does not affect the integrity or confidentiality of the system, but it can exhaust CPU resources during TLS handshakes or other operations that perform certificate validation.

Affected Systems

The issue affects the pyca:cryptography package in any version before 49.0.0. Systems that rely on this library for TLS or other cryptographic operations—including web servers, client applications, and automated scripts—are potentially impacted if they use an unpatched version.

Risk and Exploitability

The vulnerability carries a CVSS score of 8.7, indicating a high severity. Exploit probability is unclear because an EPSS score is not available, and the flaw is not listed in CISA's KEV catalog. A malicious actor could craft a certificate chain containing duplicate self‑signed intermediates and deliver it to a target that loads the vulnerable library, forcing the host to perform extensive chain validation and consume CPU time. The attack would succeed in environments where the library is invoked during authentication or data signing, and would be mitigated only by applying the vendor patch or implementing defensive measures.

Generated by OpenCVE AI on August 4, 2026 at 20:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the cryptography package to version 49.0.0 or later in every Python environment.
  • If updating is delayed, configure your TLS clients or servers to enforce a strict maximum chain length or to reject chains containing duplicate self‑signed certificates before invoking the library.
  • Add a timeout or watchdog around certificate validation routines to terminate processing that exceeds a reasonable duration.

Generated by OpenCVE AI on August 4, 2026 at 20:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jwv3-5hgf-82ww python-cryptography: Duplicate self-signed intermediates can cause exponential path-building
History

Tue, 04 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 03 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Pyca
Pyca cryptography
Vendors & Products Pyca
Pyca cryptography

Mon, 03 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
Description python-cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 49.0.0, when resolving invalid certificate chains that include duplicate copies of self-signed certificates, the processing recursively invokes the same candidate, leading to an exponential blowup. Although the limitation that the chain depth cannot exceed a specified maximum depth prevents unbounded recursion and guarantees termination, an attacker-controlled certificate chain can lead the processing to easily take more than 5s to reject in testing. This amplification could form the basis for a resource exhaustion denial of service attack. The core issue arises in the recursive nature of build_chain_inner, which does not de-duplicate against previously analyzed candidates. As the correctness of validation is not affected, the integrity of a system cannot be compromised through this vector, only its availability. This issue is fixed in 49.0.0.
Title python-cryptography: Duplicate self-signed intermediates can cause exponential path-building
Weaknesses CWE-400
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Pyca Cryptography
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-04T14:08:58.056Z

Reserved: 2026-08-03T19:54:19.852Z

Link: CVE-2026-69249

cve-icon Vulnrichment

Updated: 2026-08-04T14:08:53.909Z

cve-icon NVD

Status : Received

Published: 2026-08-03T22:16:52.720

Modified: 2026-08-04T15:16:43.860

Link: CVE-2026-69249

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T20:45:03Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption