search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Multiple TLS Libraries can Bypass Delegation Enforcement

Vulnerability Note VU#948176

Original Release Date: 2026-10-14 | Last Revised: 2026-10-14

Overview

This note covers thirteen library-specific records (VU#948176.6, .8–.19) of how widely used TLS libraries apply X.509 Name Constraints. The records describe cases where a constrained name may be accepted by one library and rejected by another. Some are fixed, some remain under review, and some were not accepted as security issues.

Description

Name Constraints are meant to keep a subordinate CA inside an allowed namespace. The records cover several name forms and do not all have the same classification. VU#948176.7 does not exist.

DNS case-sensitivity and wildcards. While RFC 5280 requires case-insensitive DNS matching, it does not explicitly define wildcard Subject Alternative Name (SAN) matching, leading to varied implementation behaviors. For instance, GnuTLS was found to perform case-sensitive comparisons on certain names (CVE-2026-3833, fixed in 3.8.13). Similar discrepancies regarding case handling in wildcard parent-constraint lookups were reported in Go, as well as wildcard inconsistencies in LibreSSL and wolfSSL. Additionally, pyca/cryptography was identified to check DNS Name Constraints against certificate SANs but failed to validate them against the requested peer name (CVE-2026-34073, fixed in 46.0.6).

IP addresses. Some libraries treat IPv4 and IPv4-mapped IPv6 forms as different when matching constraints. The Go security team determined that report did not meet its security bar; similar reports exist for Apple's Security.framework and Mozilla NSS and are included as comparative evidence.

URIs. Libraries can differ on which host they extract from a URI SAN. OpenSSL merged PR #30319 for an @ in the path, query, or fragment; a separate userinfo-colon report remains in triage. Related URI reports exist for Apple, NSS, and wolfSSL (CVE-2026-3547, fixed in 5.9.0). A well-formed single @ is handled per RFC 3986 by most implementations.

Common Name fallback. AWS-LC and s2n-tls were reported to apply DNS constraints inconsistently when a leaf has no SAN and uses a wildcard Common Name. The AWS-LC wildcard-CN issue has been fixed; a separate Unicode CN question remains under coordination. s2n-tls is in triage.

Non-critical constraints. In the reported Mbed TLS configuration, non-critical Name Constraints are not enforced. RFC 5280 requires conforming CAs to mark the extension critical, and the reviewed Mbed TLS 3.x configuration rejects unsupported critical extensions. The vendor treats adding support as a feature request; the reporter's concern remains disputed.

Impact

These records matter only when an attacker can obtain a trusted signature over chosen certificate fields, reach an affected validation path, and the application uses the accepted identity for authorization. Validator disagreement alone is not exploitation. Effects, if any, are deployment-specific and may include acceptance of a name outside the intended namespace.

Solution

CERT/CC is coordinating remediation across the affected projects. The following summarizes available status; individual entries reflect different reporting and confirmation dates.

GnuTLS — CVE-2026-3833 fixed in 3.8.13.

pyca/cryptography — CVE-2026-34073 fixed in 46.0.6.

wolfSSL — CVE-2026-3547 fixed in 5.9.0. The wildcard was addressed in PR# 9991.

Go's crypto/x509 — Two reports are in triage. The IPv4-mapped IPv6 report was not accepted as meeting the project's security bar.

OpenSSL — PR #30319 was merged and, as confirmed on 10 September 2026, is present in all then-current publicly supported versions. The separate userinfo-colon report remains in triage.

Apple's Security.framework — Three reports submitted on 2026-03-16 remain in triage.

Mozilla NSS — IP-address report under coordination.

LibreSSL — Wildcard report under coordination.

AWS-LC — Wildcard CN issue fixed; Unicode CN report under coordination. s2n-tls is in triage.

Mbed TLS — Non-critical Name Constraints are not enforced in the reported configuration. Marking the extension critical causes such chains to fail closed rather than adding enforcement.

Until updates are widely deployed, operators who depend on Name Constraints should confirm the behavior of the libraries they actually run, keep leaf certificates to explicit SANs, and treat issuance policy as the first control. A second validator helps only when it uses the same inputs and fails closed.

Acknowledgements

Thanks to Oleh Konko for discovering and reporting these issues. This document was prepared with AI assistance by Timur Snoke.

Vendor Information

948176
 

Amazon Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

AMD Unknown

Notified:  2026-08-25 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

Apple Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

AWS Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

Entrust Datacard Unknown

Notified:  2026-09-02 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

GnuTLS Unknown

Notified:  2026-08-25 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

Go Programming Language Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

LibreSSL Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

Mbed TLS Unknown

Notified:  2026-08-25 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

Mozilla Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

OpenBSD Unknown

Notified:  2026-08-25 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

OpenSSL Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

wolfSSL Unknown

Notified:  2026-08-21 Updated: 2026-10-14

CVE-2026-34073 Unknown
VU#948176.10 Unknown
VU#948176.11 Unknown
VU#948176.12 Unknown
VU#948176.13 Unknown
VU#948176.14 Unknown
VU#948176.15 Unknown
VU#948176.16 Unknown
VU#948176.17 Unknown
VU#948176.18 Unknown
VU#948176.19 Unknown
VU#948176.6 Unknown
VU#948176.8 Unknown
VU#948176.9 Unknown

Vendor Statement

We have not received a statement from the vendor.

View all 13 vendors View less vendors


References

  • [RFC 5280 §4.2.1.10 — Name Constraints](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10)
  • [RFC 5280 §4.2.1.6 — Subject Alternative Name](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6)
  • [RFC 5280 §6.1.3 — Basic Certificate Processing](https://datatracker.ietf.org/doc/html/rfc5280#section-6.1.3)
  • [RFC 3986 §3.2 — URI Authority Component](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2)
  • [CVE-2026-3833 — GnuTLS Name Constraints case-sensitivity (VU#948176.6)](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-3833)
  • [GnuTLS 3.8.13 Security Advisory](https://www.gnutls.org/news.html)
  • [CVE-2026-34073 — pyca/cryptography wildcard Name Constraints](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-34073)
  • [GHSA-m959-cc7f-wv43 — pyca/cryptography wildcard advisory](https://github.com/pyca/cryptography/security/advisories/GHSA-m959-cc7f-wv43)
  • [CVE-2026-3547 — wolfSSL URI Name Constraints bypass](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-3547)
  • [pyca/cryptography v46.0.6](https://cryptography.io/en/latest/changelog/)
  • [wolfSSL 5.9.0 Release Notes](https://www.wolfssl.com/docs/release-notes/)
  • [wolfSSL PR# 9991](https://github.com/wolfssl/wolfssl/pull/9991)
  • [OpenSSL PR #30319 — URI authority parsing (VU#948176.12)](https://github.com/openssl/openssl/pull/30319)
  • [OpenSSL PR #30318 — smtpUTF8Mailbox](https://github.com/openssl/openssl/pull/30318)
  • [Mbed TLS Documentation](https://mbed-tls.readthedocs.io/)

Other Information

CVE IDs: CVE-2026-34073
API URL: VINCE JSON | CSAF
Date Public: 2026-10-14
Date First Published: 2026-10-14
Date Last Updated: 2026-10-14 15:11 UTC
Document Revision: 1

Sponsored by CISA.