DEV Community

CVE Reports
CVE Reports

Posted on • Originally published at cvereports.com

CVE-2026-69248: CVE-2026-69248: Name Constraints Bypass via Wildcard SANs in Python cryptography

CVE-2026-69248: Name Constraints Bypass via Wildcard SANs in Python cryptography

Vulnerability ID: CVE-2026-69248
CVSS Score: 6.9
Published: 2026-08-03

An improper certificate validation vulnerability (CWE-295) in the Rust-based X.509 verification engine of python-cryptography allows wildcard Subject Alternative Names (SANs) to bypass permitted Name Constraints. This enables an attacker to construct certificates that escape the restricted scope of a subordinate Certificate Authority (CA) and successfully authenticate against vulnerable client installations. The vulnerability is tracked as CVE-2026-69248 and GHSA-m2h6-j472-rp4c, with a CVSS v4.0 base score of 6.9.

TL;DR

A flaw in python-cryptography's Rust-based X.509 verifier allows a wildcard SAN (e.g., *.example.com) to satisfy a restricted permitted Name Constraint (e.g., foo.example.com), enabling subordinate CA scope escape.


Technical Details

  • CWE ID: CWE-295
  • Attack Vector: Network
  • CVSS v4.0: 6.9 (Medium)
  • EPSS Score: Not yet indexed
  • Impact: High (Complete Bypass of Certificate-Based Trust Boundaries)
  • Exploit Status: poc
  • KEV Status: Not Listed

Affected Systems

  • python-cryptography (cryptography-x509-verification crate)
  • cryptography: < 49.0.0 (Fixed in: 49.0.0)

Code Analysis

Commit: 4d035a4

Fix name constraints validation when evaluating wildcard DNS SANs against permittedSubtrees constraints. Introduces SubtreeKind enum to separate permitted and excluded evaluation.

diff --git a/src/rust/cryptography-x509-verification/src/lib.rs b/src/rust/cryptography-x509-verification/src/lib.rs
index 8cf3f5b..4d035a4 100
--- a/src/rust/cryptography-x509-verification/src/lib.rs
+++ b/src/rust/cryptography-x509-verification/src/lib.rs
@@ -147,6 +147,7 @@ impl<'a, 'chain> NameChain<'a, 'chain> {

     fn evaluate_single_constraint<B: CryptoOps>(
         &self,
+        kind: SubtreeKind,
         constraint: &GeneralName<'chain>,
         san: &GeneralName<'chain>,
         budget: &mut Budget,
Enter fullscreen mode Exit fullscreen mode

Mitigation Strategies

  • Upgrade python-cryptography to version 49.0.0 or higher.
  • Audit active certificates in the PKI to identify wildcard SANs issued by restricted sub-CAs.
  • Implement validation-layer checks in Python code to enforce minimum library versions.

Remediation Steps:

  1. Identify all virtual environments and containers running python-cryptography.
  2. Execute the upgrade command: pip install --upgrade "cryptography>=49.0.0".
  3. Re-deploy applications and verify that the active library version is at least 49.0.0.
  4. Validate certificate issuance policies to ensure sub-CAs cannot sign wildcard certificates that violate constraints.

Read the full report for CVE-2026-69248 on our website for more details including interactive diagrams and full exploit analysis.

Top comments (0)