CVE-2026-69249
HighCVSS 8.7Exploitation Probability (EPSS)
Low risk9th percentile - higher than 9% of all known CVEs
Summary
python-cryptography, a cryptographic library for Python, prior to version 49.0.0, is vulnerable to DoS via resource exhaustion. When resolving invalid certificate chains with duplicate self-signed certificates, processing recursively invokes the same candidate, leading to exponential blowup. An attacker can supply a chain causing processing time over 5 seconds, leading to denial of service. Fixed in version 49.0.0.
Risk Assessment
An attacker can cause system overload by supplying a specially crafted certificate chain, leading to service unavailability.
Recommendation
Update python-cryptography to version 49.0.0 or later.
Other vulnerabilities in python-cryptography
See all- CVE-2020-25659Medium
The vulnerability in python-cryptography 3.2 allows Bleichenbacher timing attacks on the RSA decryption API. Attackers can exploit timing differences in processing valid PKCS#1 v1.5 ciphertext.
- CVE-2026-69248Medium
The python-cryptography library prior to version 49.0.0 incorrectly handles DNS constraints in certificates. If an intermediate CA restricts a name to foo.example.com and the leaf certificate contains a wildcard *.example.com, the validator accepts a certificate that escapes the permitted names, allowing acceptance of an invalid certificate chain.
Original NVD description (English source)
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.

