Every CVE Search/ Get API key

CVE-2026-34073

cryptography has incomplete DNS name constraint enforcement on peer names

1.7 LowFix available

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.23%Up 0.2 points since Mar 31, 2026
90%50%10%1%

What each source reports

CVE List Score used 1.7

cryptography has incomplete DNS name constraint enforcement on peer names

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
CVE-2026-34073
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
Weakness
CWE-295
Updated
2026-11-02
EUVDEUVD-2026-17284 1.7

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
EUVD-2026-17284
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
Updated
2026-11-02
GitHub AdvisoriesGHSA-m959-cc7f-wv43 1.7

cryptography has incomplete DNS name constraint enforcement on peer names

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

Record
GHSA-m959-cc7f-wv43
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-295
Updated
2026-11-02
NVD 1.7

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
CVE-2026-34073
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-295
Updated
2026-11-02
OSVALPINE-CVE-2026-34073 5.3

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
ALPINE-CVE-2026-34073
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVBELL-CVE-2026-34073 5.3
Record
BELL-CVE-2026-34073
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
Show 17 moreShow less
OSV 1.7

cryptography has incomplete DNS name constraint enforcement on peer names

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
CVE-2026-34073
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
Weakness
CWE-295
Updated
2026-11-02
OSVDEBIAN-CVE-2026-34073 5.3

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
DEBIAN-CVE-2026-34073
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVGHSA-m959-cc7f-wv43 1.7

cryptography has incomplete DNS name constraint enforcement on peer names

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

Record
GHSA-m959-cc7f-wv43
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-295
Updated
2026-11-02
OSVPYSEC-2026-35 5.3

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
PYSEC-2026-35
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVRHSA-2026:7295 7.4

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:7295
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2026-34073 5.3

CVE-2026-34073 in cryptography - Patched by Root

Root has patched CVE-2026-34073 in the cryptography package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2026-34073
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-34073 1.7

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, 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 issue has been patched in version 46.0.6.

Record
UBUNTU-CVE-2026-34073
CVSS 4.0
1.7 LowCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1781225624 No score

TuxCare security update for cryptography (2 CVEs)

TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 45.0.7.post3+tuxcare.

Record
CLSA-2026-1781225624
Updated
2026-11-02
OSVCLSA-2026-1783645382 No score

TuxCare security update for cryptography (2 CVEs)

TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 44.0.3.post3+tuxcare.

Record
CLSA-2026-1783645382
Updated
2026-11-02
OSVCLSA-2026-1784164006 No score

TuxCare security update for cryptography (1 CVE)

TuxCare rebuilt cryptography to address 1 CVE. Fixed in 43.0.3.post3+tuxcare.

Record
CLSA-2026-1784164006
Updated
2026-11-02
OSVCLSA-2026-1789557846 No score

TuxCare security update for cryptography (2 CVEs)

TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 43.0.1.post3+tuxcare.

Record
CLSA-2026-1789557846
Updated
2026-11-02
OSVopenSUSE-SU-2026:10454-1 No score

python311-cryptography-46.0.6-1.1 on GA media

These are all security issues fixed in the python311-cryptography-46.0.6-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10454-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20506-1 No score

Security update for python-cryptography

This update for python-cryptography fixes the following issues:

  • CVE-2026-34073: Fixed X.509 bypass of name constraints on wildcard SANs with matching peer names. (bsc#1260876)
  • CVE-2026-26007: missing validation can lead to security issues for signature verification (ECDSA) and shared key negotiation (ECDH) (bsc#1258074).
Record
openSUSE-SU-2026:20506-1
Updated
2026-11-02
OSVSUSE-SU-2026:21021-1 No score

Security update for python-cryptography

This update for python-cryptography fixes the following issues:

  • CVE-2026-34073: Fixed X.509 bypass of name constraints on wildcard SANs with matching peer names. (bsc#1260876)
  • CVE-2026-26007: missing validation can lead to security issues for signature verification (ECDSA) and shared key negotiation (ECDH) (bsc#1258074).
Record
SUSE-SU-2026:21021-1
Updated
2026-11-02
OSVSUSE-SU-2026:21116-1 No score

Security update for python-cryptography

This update for python-cryptography fixes the following issues:

  • CVE-2026-34073: Fixed X.509 bypass of name constraints on wildcard SANs with matching peer names. (bsc#1260876)
Record
SUSE-SU-2026:21116-1
Updated
2026-11-02
OSVSUSE-SU-2026:21126-1 No score

Security update for python-cryptography

This update for python-cryptography fixes the following issues:

  • CVE-2026-34073: Fixed X.509 bypass of name constraints on wildcard SANs with matching peer names. (bsc#1260876)
Record
SUSE-SU-2026:21126-1
Updated
2026-11-02
OSVSUSE-SU-2026:21165-1 No score

Security update for python-cryptography

This update for python-cryptography fixes the following issues:

  • CVE-2026-34073: Fixed X.509 bypass of name constraints on wildcard SANs with matching peer names. (bsc#1260876)
  • CVE-2026-26007: missing validation can lead to security issues for signature verification (ECDSA) and shared key negotiation (ECDH) (bsc#1258074).
Record
SUSE-SU-2026:21165-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
cryptography
PyPI
before 46.0.6
46.0.6
py3-cryptography
Alpine:v3.23
before 46.0.7-r0
46.0.7-r0
py3-cryptography
Alpine:v3.24
before 46.0.7-r0
46.0.7-r0
py3-cryptography
Alpaquita:25
44.0.3-r0 up to 44.0.3-r2
44.0.3-r2
py3-cryptography
Alpaquita:stream
39.0.2-r0 up to 46.0.6-r0
46.0.6-r0
cryptography
TuxCare:PyPI
From an advisory covering 2 CVEs
45.0.7 up to 45.0.7.post3+tuxcare, plus listed versions
45.0.7.post1+tuxcare45.0.7.post2+tuxcare
45.0.7.post3+tuxcare
cryptography
TuxCare:PyPI
From an advisory covering 2 CVEs
44.0.3 up to 44.0.3.post3+tuxcare, plus listed versions
44.0.3.post1+tuxcare44.0.3.post2+tuxcare
44.0.3.post3+tuxcare
cryptography
TuxCare:PyPI
43.0.3 up to 43.0.3.post3+tuxcare, plus listed versions
43.0.3.post1+tuxcare43.0.3.post2+tuxcare
43.0.3.post3+tuxcare
cryptography
TuxCare:PyPI
From an advisory covering 2 CVEs
43.0.1 up to 43.0.1.post3+tuxcare, plus listed versions
43.0.1.post1+tuxcare43.0.1.post2+tuxcare
43.0.1.post3+tuxcare
python-cryptography
Debian:12
All versions, plus listed versions
38.0.4-338.0.4-3+deb12u138.0.4-441.0.7-141.0.7-2
Show 23 moreShow less
41.0.7-341.0.7-441.0.7-542.0.5-142.0.5-243.0.0-143.0.0-243.0.0-344.0.2-144.0.2-245.0.6-145.0.6-1~exp145.0.7-146.0.1-146.0.1-1~exp146.0.5-146.0.5-246.0.6-146.0.7-147.0.0-149.0.0-149.0.0-1~exp149.0.0-2
None known
Show 12 moreShow less
Affected packages
PackageAffectedFixed
python-cryptography
Debian:13
All versions, plus listed versions
43.0.0-343.0.0-3+deb13u144.0.2-144.0.2-245.0.6-1
Show 12 moreShow less
45.0.6-1~exp145.0.7-146.0.1-146.0.1-1~exp146.0.5-146.0.5-246.0.6-146.0.7-147.0.0-149.0.0-149.0.0-1~exp149.0.0-2
None known
python-cryptography
Debian:14
before 46.0.6-1, plus listed versions
43.0.0-344.0.2-144.0.2-245.0.6-145.0.6-1~exp1
Show 5 moreShow less
45.0.7-146.0.1-146.0.1-1~exp146.0.5-146.0.5-2
46.0.6-1
cryptography
PyPI
before 46.0.6, plus listed versions
0.10.20.2.10.2.20.3
Show 45 moreShow less
0.40.50.5.10.5.20.5.30.5.40.60.6.10.70.7.10.7.20.80.8.10.8.20.90.9.10.9.20.9.31.01.0.11.0.21.11.1.11.1.21.21.2.11.2.21.2.31.31.3.11.3.21.3.31.3.41.41.51.5.11.5.21.5.31.61.71.7.11.7.21.81.8.11.8.2
46.0.6
python-cryptography
Red Hat:hummingbird:1
From an advisory covering 3 CVEs
before 0:46.0.7-1.hum1
0:46.0.7-1.hum1
cryptography
Root:PyPI
before 46.0.5+aikido.7
46.0.5+aikido.736.0.1+aikido.746.0.3+aikido.846.0.4+aikido.543.0.1+aikido.745.0.5+aikido.946.0.1+aikido.643.0.1+aikido.346.0.1+aikido.246.0.3+aikido.943.0.1+aikido.846.0.5+aikido.345.0.5+aikido.546.0.1+aikido.346.0.4+aikido.343.0.1+aikido.446.0.3+aikido.436.0.1+aikido.446.0.4+aikido.446.0.5+aikido.446.0.1+aikido.446.0.3+aikido.543.0.1+aikido.536.0.1+aikido.545.0.5+aikido.646.0.5+aikido.545.0.5+aikido.745.0.5+aikido.836.0.1+aikido.646.0.5+aikido.646.0.3+aikido.646.0.3+aikido.746.0.1+aikido.543.0.1+aikido.643.0.1+aikido.945.0.5+aikido.1036.0.1+aikido.846.0.1+aikido.746.0.5+aikido.846.0.4+aikido.646.0.3+aikido.1046.0.4+aikido.7
python-cryptography
SUSE:Linux Micro 6.2
From an advisory covering 2 CVEs
before 44.0.3-160000.3.1
44.0.3-160000.3.1
python-cryptography
SUSE:Linux Micro 6.1
before 42.0.4-slfo.1.1_4.1
42.0.4-slfo.1.1_4.1
python-cryptography
SUSE:Linux Micro 6.0
before 42.0.4-4.1
42.0.4-4.1
python-cryptography
SUSE:Linux Enterprise Server 16.0
From an advisory covering 2 CVEs
before 44.0.3-160000.3.1
44.0.3-160000.3.1
python-cryptography
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 2 CVEs
before 44.0.3-160000.3.1
44.0.3-160000.3.1
python-cryptography
openSUSE:Tumbleweed
before 46.0.6-1.1
46.0.6-1.1
python-cryptography
openSUSE:Leap 16.0
From an advisory covering 2 CVEs
before 44.0.3-160000.3.1
44.0.3-160000.3.1

History

History
RecordedChangedSources
affected, facts
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-34073 is a low vulnerability (CVSS 1.7) in Cryptography.io Cryptography, published March 27, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.23%, the 13th percentile. Fixed in cryptography 46.0.6.

References

Show 33 moreShow less
This page doesn't list everything

Left out here: 101 versions. The JSON record has them.

MoveEnter Open