CVE-2026-53622: Traefik: HTTP/3 mTLS bypass via exact SNI TLSOptions lookup for wildcard and mixed-case hosts
(updated )
There is a critical vulnerability in Traefik’s HTTP/3 (QUIC) TLS configuration selection that allows unauthenticated clients to bypass router-specific mTLS enforcement. When HTTP/3 is enabled on an entrypoint, the TLS handshake selects the applicable TLS configuration through an exact, case-sensitive lookup on the SNI value, which fails to match wildcard host patterns (e.g., *.example.com) or case variants of the configured hostname. Because the handshake falls back to the default TLS configuration — which may not require client certificates — a client can complete the QUIC handshake without presenting a certificate, while the subsequent HTTP routing layer still dispatches the request to a backend protected by a router-specific mTLS policy. The issue affects deployments where HTTP/3 is enabled, a router uses a wildcard Host rule or case-insensitive hostname matching, a router-specific TLSOptions enforces client certificate authentication, and UDP access to the entrypoint is reachable by an attacker.
Traefik’s HTTP/3 TLS configuration selection can ignore router-specific TLSOptions and allow unauthenticated clients to bypass mTLS. The QUIC/HTTP3 path resolves TLS configuration with Router.GetTLSGetClientInfo(), which performs a direct, case-sensitive map lookup on hostHTTPTLSConfig[info.ServerName].
This is inconsistent with the later HTTP host routing semantics, where the same request host can still match wildcard or case-insensitive Host rules after the HTTP/3 TLS handshake has already fallen back to the default TLS configuration. Two exploit paths are confirmed:
Host("*.example.com")withtls.options=mtls: HTTP/2 requires a client certificate, but HTTP/3 reaches the protected backend without one.Host("api.example.com")withtls.options=mtls: HTTP/2 requires a client certificate, but HTTP/3 with mixed-case SNI/Host such asAPI.EXAMPLE.COMreaches the protected backend without one.
Confirmed versions:
- wildcard HTTP/3 bypass:
v3.7.0,v3.7.1 - exact-host mixed-case HTTP/3 bypass:
v3.6.17,v3.7.0,v3.7.1
References
- access.redhat.com/errata/RHSA-2026:62260
- access.redhat.com/security/cve/CVE-2026-53622
- bugzilla.redhat.com/show_bug.cgi?id=2491924
- community.traefik.io/t/new-security-update-for-traefik-2-11-2-11-48-3-6-3-6-19-and-3-7-3-7-3/29917
- github.com/advisories/GHSA-9cr8-q42q-g8m7
- github.com/traefik/traefik/compare/v3.6.17...v3.6.18
- github.com/traefik/traefik/pull/13214
- github.com/traefik/traefik/releases/tag/v3.7.3
- github.com/traefik/traefik/security/advisories/GHSA-9cr8-q42q-g8m7
- nvd.nist.gov/vuln/detail/CVE-2026-53622
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53622.json
Code Behaviors & Features
Detect and mitigate CVE-2026-53622 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →