Impact
When the cryptography library evaluates certificate chains that contain duplicate self‑signed certificates, its recursive build_chain_inner routine repeatedly processes the same candidate, creating an exponential growth of decision paths. The chain‑depth limit stops unbounded recursion, but an attacker can craft a chain that forces the validator to spend several seconds—often more than five—on a single chain. This amplification is sufficient to cause a denial of service through resource exhaustion. The flaw does not alter the correctness of validation, so integrity and confidentiality are not compromised; only availability is affected.
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 has a CVSS score of 8.7, indicating high severity. An EPSS score of less than 1% suggests a very low but non‑zero probability of exploitation in the wild, and the issue is not listed in CISA’s KEV catalog. An attacker can craft a duplicate self‑signed certificate chain and present it to a system that performs certificate validation using a vulnerable cryptography library. The processing routine will spend excessive time—commonly exceeding five seconds—on the chain, consuming CPU resources and leading to a denial of service. The vulnerability is exploitable whenever the library is invoked during TLS handshakes, certificate verification in client or server applications, or other routines that perform chain construction, but it does not allow compromise of confidentiality or integrity.
OpenCVE Enrichment
Github GHSA