cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 49.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.
| Version | Type | Source | Base | Exp | Imp |
|---|---|---|---|---|---|
| 4.0 | Primary | cve.org | 6.9 | — | — |
| 4.0 | Primary | cve.org | 6.9 | — | — |
| 4.0 | Secondary | GHSA | 6.9 | — | — |
| 4.0 | Secondary | NVD | 6.9 | — | — |
| 4.0 | Secondary | ENISA EUVD | 6.9 | — | — |