CVE-2026-93601: rustls webpki 0.101.0 before 0.103.12 Name Constraint Bypass
rustls-webpki (the Rust webpki fork used by rustls) versions >= 0.101.0 and prior to 0.103.12 and 0.104.0-alpha.6 incorrectly accepted permitted-subtree DNS name constraints for certificates asserting a wildcard name. For example, a name constraint of accept.example.com was treated as satisfied by a certificate for .example.com, which could feasibly assert reject.example.com — a name outside the permitted subtree. Because name constraints are restrictions applied to otherwise properly issued certificates, the issue is only reachable after signature verification succeeds and requires a misissued wildcard certificate to exploit.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
rustls-webpkito a version that resolves this vulnerability.Fixed in 0.103.12 - Upgrade
Upgrade
rustls-webpkito a version that resolves this vulnerability.Fixed in 0.104.0-alpha.6
Event History
Frequently Asked Questions
Who is realistically exposed to this issue?
Deployments using rustls-webpki versions 0.101.0 through before 0.103.12, or pre-0.104.0-alpha.6 builds, are affected when they validate certificate chains that rely on permitted-subtree DNS name constraints. Exploitation also depends on a wildcard certificate being misissued.
What must an attacker have for exploitation to succeed?
The attacker needs a misissued wildcard certificate whose signature verifies successfully and whose wildcard name can be incorrectly treated as satisfying a permitted DNS subtree. For example, a constraint limited to accept.example.com could incorrectly accept *.example.com, enabling assertion of another subdomain such as reject.example.com.
What versions address the problem?
The issue is fixed in rustls-webpki 0.103.12 and 0.104.0-alpha.6. Upgrading to the applicable fixed version removes the incorrect wildcard handling for permitted-subtree DNS constraints.