Quick answers
- Is CVE-2026-69249 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-69249 being exploited in the wild.
- How severe is CVE-2026-69249?
- High severity, with a CVSS score of 4, published 3 August 2026.
- Which products and versions are affected?
- cryptography (PyPI) <= 48.0.0, ECOSYSTEM:introduced=0,fixed=49.0.0, ECOSYSTEM:introduced=42.0.0,fixed=49.0.0.
- Is there a fix for CVE-2026-69249?
- Yes. cryptography (PyPI): upgrade to 49.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-69249 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-69249?
- Check whether you run cryptography (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- cryptography (PyPI): upgrade to 49.0.0 or later
pip install "cryptography>=49.0.0"
Technical details
A resource exhaustion vulnerability exists in the X.509 path-building logic of the cryptography library. The `build_chain_inner` function, which is part of the certificate verification process, recursively invokes itself without de-duplicating previously analyzed candidates when resolving invalid chains with duplicate self-signed certificates. While a maximum chain depth exists to prevent infinite recursion, the exponential growth in path-building attempts allows an attacker to trigger significant processing delays (e.g., >5 seconds for a small chain). This can be exploited remotely by providing a crafted certificate chain to any service performing X.509 validation using the affected library. The issue is fixed in version 49.0.0 by tracking and skipping already-seen valid issuers during recursion.
Affected products
- pyca cryptography <= 48.0.0
Identifiers
- CVE-2026-69249
- GHSA-jwv3-5hgf-82ww
- PYSEC-2026-3553
Timeline
- 2026-07-31: advisory: GitHub Advisory published
- 2026-08-03: disclosed: CVE-2026-69249 disclosed
- 2026-08-03: patched: Fixed in version 49.0.0