CVE-2026-69248: pyca cryptography · Improper Certificate Validation
Affects pyca cryptographySource CVE Database V5
Public exploit available · CVSS 6.9 Medium : upgrade to 49.0.0 as a priority.
Data as of 1 Nov 2026, 22:58 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 15% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 49.0.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:PExploitation evidence
Disclosed: evidence found.
CVE published 3 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: evidence found.
CVSS exploit maturity: proof of concept public
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CVSS vector, the Metasploit, Exploit-DB and nuclei-templates index as of 1 Nov 2026.
What to do
Upgrade pyca cryptography to 49.0.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| pycacryptography | Affected
| Fixed in
|
PyPIcryptographypkg:pypi/cryptographyOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade pyca cryptography to version 49.0.0 or later, where this certificate validation issue is fixed. Patch status is confirmed by the vendor stating the fix is included in version 49.0.0. No other mitigations are indicated.
Description
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 45.0.0 through 48.0.0, if an intermediate constrained CA permits the DNS name foo.example.com, and the leaf certificate has a wildcard in its DNS SAN of *.example.com, python-cryptography's verifier accepts which allows escaping outside of the permitted names. The core issue is in DNSConstraint::matches, where a wildcard pattern was treated as matching a more-specific permitted constraint even though *.example.com can expand to sibling names such as bar.example.com outside foo.example.com. This allows acceptance of an invalid certificate chain. This issue is fixed in 49.0.0.