DEV Community

CVE Reports
CVE Reports

Posted on • Originally published at cvereports.com

GHSA-GV8R-9RW9-9697: The Ghost in the Handshake: Traefik & Go mTLS Bypass in HTTP/3

The Ghost in the Handshake: Traefik & Go mTLS Bypass in HTTP/3

Vulnerability ID: GHSA-GV8R-9RW9-9697
CVSS Score: 10.0
Published: 2026-02-20

A critical vulnerability in the Go standard library's crypto/tls package, affecting the popular Traefik proxy, allows attackers to bypass mutual TLS (mTLS) client authentication. This issue specifically targets HTTP/3 (QUIC) connections leveraging TLS 1.3 session resumption. By exploiting a logic flaw in how Go handles configuration changes during session resumption, a client with a previously valid certificate (or a stolen session ticket) can bypass current access control lists, effectively rendering 'Zero Trust' architectures null and void.

TL;DR

A flaw in Go's TLS library allows HTTP/3 clients to bypass Client Authentication (mTLS) in Traefik. If a server updates its trusted CAs, a client can simply 'resume' an old session to bypass the new restrictions. It's like using an expired hand-stamp to re-enter a club after the bouncers changed the rules.


⚠️ Exploit Status: POC

Technical Details

  • CVE ID: CVE-2025-68121
  • CVSS Severity: 10.0 (Critical)
  • Attack Vector: Network (Session Resumption)
  • Affected Component: Go crypto/tls (HTTP/3)
  • Impact: Authentication Bypass (mTLS)
  • Exploit Status: PoC Available
  • EPSS Score: 0.00016 (Rising)

Affected Systems

  • Traefik Proxy (v2.x <= 2.11.36)
  • Traefik Proxy (v3.x <= 3.6.7)
  • Kubernetes Ingress Controllers using affected Traefik versions
  • Custom Go applications using crypto/tls and HTTP/3
  • Traefik: <= 2.11.36 (Fixed in: 2.11.37)
  • Traefik: <= 3.6.7 (Fixed in: 3.6.8)
  • Go Standard Library: < 1.24.13 (Fixed in: 1.24.13)

Code Analysis

Commit: b2f0a1e

crypto/tls: verify client CA on resumption

func (c *Conn) resumeSession() { ... if !c.config.ClientCAs.Contains(cert) { return fail } ... }
Enter fullscreen mode Exit fullscreen mode

Exploit Details

Mitigation Strategies

  • Upgrade Traefik to the latest patched version immediately.
  • Recompile custom Go applications using Go 1.24.13+ or 1.25.7+.
  • Disable HTTP/3 (QUIC) support in Traefik if patching is delayed.
  • Disable TLS Session Resumption if Client Authentication is critical and patching is impossible.

Remediation Steps:

  1. Identify all Traefik instances handling mTLS (ClientAuth).
  2. Check current version: traefik version.
  3. If version is <= v2.11.36 or <= v3.6.7, schedule immediate maintenance.
  4. Deploy v2.11.37 or v3.6.8.
  5. Verify the fix by attempting to resume a session after rotating CAs (if you have a test suite).

References


Read the full report for GHSA-GV8R-9RW9-9697 on our website for more details including interactive diagrams and full exploit analysis.

Top comments (0)