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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →