CVE-2024-39321

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to bypass IP allow-lists in Traefik reverse proxy by sending HTTP/3 early data requests with spoofed IP addresses during QUIC 0-RTT handshakes. This affects all Traefik deployments using HTTP/3 with QUIC and IP allow-list configurations. Organizations using Traefik versions prior to 2.11.6, 3.0.4, or 3.1.0-rc3 are vulnerable.

💻 Affected Systems

Products:
  • Traefik
Versions: All versions prior to 2.11.6, 3.0.4, and 3.1.0-rc3
Operating Systems: All platforms running Traefik
Default Config Vulnerable: ✅ No
Notes: Only affects deployments using HTTP/3 with QUIC protocol and IP allow-list configurations. HTTP/1.1 and HTTP/2 configurations are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers can bypass IP-based access controls entirely, gaining unauthorized access to internal services protected by Traefik's IP allow-lists, potentially leading to data breaches or service compromise.

🟠

Likely Case

Attackers bypass IP restrictions to access services intended only for specific IP ranges, potentially exposing administrative interfaces or internal applications to unauthorized users.

🟢

If Mitigated

With proper network segmentation and additional authentication layers, impact is limited to bypassing only the IP filtering layer.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires ability to send spoofed IP packets and knowledge of QUIC 0-RTT handshakes. No public exploit code has been released.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.11.6, 3.0.4, or 3.1.0-rc3

Vendor Advisory: https://github.com/traefik/traefik/security/advisories/GHSA-gxrv-wf35-62w9

Restart Required: Yes

Instructions:

1. Identify your Traefik version. 2. Upgrade to 2.11.6, 3.0.4, or 3.1.0-rc3 based on your major version. 3. Restart Traefik service. 4. Verify the new version is running.

🔧 Temporary Workarounds

Disable HTTP/3

all

Disable HTTP/3 and QUIC protocol to prevent exploitation via 0-RTT handshakes

# In Traefik configuration, ensure experimental.http3.enabled is set to false

Disable 0-RTT

all

Disable QUIC 0-RTT handshakes if HTTP/3 must remain enabled

# Configure QUIC to disable 0-RTT support in your QUIC implementation

🧯 If You Can't Patch

  • Disable HTTP/3 entirely in Traefik configuration
  • Implement additional authentication layers beyond IP allow-lists

🔍 How to Verify

Check if Vulnerable:

Check Traefik version and verify if HTTP/3 is enabled with IP allow-lists configured

Check Version:

traefik version

Verify Fix Applied:

Confirm Traefik version is 2.11.6, 3.0.4, or 3.1.0-rc3 or later

📡 Detection & Monitoring

Log Indicators:

  • Unexpected successful connections from IPs not in allow-list
  • HTTP/3 requests with unusual patterns

Network Indicators:

  • QUIC 0-RTT handshake attempts from suspicious sources
  • HTTP/3 traffic bypassing expected IP filters

SIEM Query:

source="traefik" AND (http_version="3" OR protocol="QUIC") AND allowed_ip="false"

🔗 References

📤 Share & Export