CVE-2026-69248: pyca cryptography improper certificate validation in Name Constraints

CVE-2026-69248 · Severity: medium · CVSS 4 · Published 2026-08-03

A vulnerability exists in the 'cryptography' library, a widely used Python package for secure communication and data protection. The library's certificate verification process incorrectly handles wildcard domain names when restricted by specific security constraints. This could allow a malicious actor to use a certificate for a domain they are not authorized to represent, potentially leading to unauthorized access or the interception of sensitive data.

Technologies: cryptography (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-69248 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-69248 being exploited in the wild.
How severe is CVE-2026-69248?
Medium 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=45.0.0,fixed=49.0.0.
Is there a fix for CVE-2026-69248?
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-69248 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-69248?
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 vulnerability in the X.509 verification logic of the 'cryptography' library (pyca/cryptography) allows for a Name Constraints escape. When an intermediate CA is restricted to a specific permittedSubtree (e.g., foo.example.com), the verifier incorrectly accepts a leaf certificate containing a wildcard SAN (e.g., *.example.com). This bypasses the restrictions defined in RFC 5280 §4.2.1.10, as the verifier may treat the leaf as authoritative for domains outside the constrained scope (e.g., bar.example.com). The issue is rooted in the DNSConstraint::matches implementation and is fixed in version 49.0.0.

Affected products

  • pyca cryptography <= 48.0.0

Identifiers

  • CVE-2026-69248
  • GHSA-m2h6-j472-rp4c
  • PYSEC-2026-3554

Timeline

  • 2026-07-31: disclosed
  • 2026-08-03: advisory
  • 2026-08-03: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.