Low

cryptography has incomplete DNS name constraint enforcement on peer names

  • Disclosed: 27.03.2026
  • Updated: 11.10.2026 15:17

Summary

In versions of cryptography prior to 46.0.5, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently, cryptography would allow a peer named bar.example.com to validate against a wildcard leaf certificate for *.example.com, even if the leaf's parent certificate (or upwards) contained an excluded subtree constraint for bar.example.com.

This behavior resulted from a gap between RFC 5280 (which defines Name Constraint semantics) and RFC 9525 (which defines service identity semantics): put together, neither states definitively whether Name Constraints should be applied to peer names. To close this gap, cryptography now conservatively rejects any validation where the peer name would be rejected by a name constraint if it were a SAN instead.

In practice, exploitation of this bypass requires an uncommon X.509 topology, one that the Web PKI avoids because it exhibits these kinds of problems. Consequently, we consider this a medium-to-low impact severity.

See CVE-2025-61727 for a similar bypass in Go's crypto/x509.

Remediation

Users should upgrade to 46.0.6 or newer.

Attribution

Reporter: @1seal

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) cryptography < 46.0.6 46.0.6

References

CVSS score 5.3/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness (CWE)
CWE-295
Platform
Python (PyPI)
Package
cryptography
Disclosed
27.03.2026
Updated
11.10.2026 15:17

Sources and licenses

OSV / GitHub Advisory Database - PYSEC-2026-35 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-m959-cc7f-wv43 - CC BY 4.0

Vulnerability history: cryptography

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (24) in the archive
Total entries
24
First → latest
03.2017 08.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • High 12
  • Medium 7
  • Low 5

Disclosures per year

  1. 2017: 1
  2. 2018: 1
  3. 2019: 0
  4. 2020: 1
  5. 2021: 1
  6. 2022: 1
  7. 2023: 7
  8. 2024: 4
  9. 2025: 1
  10. 2026: 7
Severity:
  1. High · 7.5 ghsa-537c-gmf6-5ccf >= 0.5.0, < 48.0.1 48.0.1
  2. cryptography has incomplete DNS name constraint enforcement on peer names this entry
    Low · 5.3 CVE-2026-34073 < 46.0.6 46.0.6
  3. High · 7.5 CVE-2023-38325 >= 40.0.0, < 41.0.2 41.0.2
  4. High · 7.4 CVE-2023-0286 >= 0.8.1, < 39.0.1 39.0.1
  5. High · 7.5 CVE-2018-10903 >= 1.9.0, < 2.3 2.3
  6. High · 7.5 CVE-2016-9243 < 1.5.3 1.5.3

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.