CVE-2026-25949

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to cause denial of service in Traefik reverse proxy by exploiting a STARTTLS timeout bypass. Attackers can send a specific 8-byte Postgres SSLRequest and then stall, keeping connections open indefinitely and exhausting resources. All Traefik deployments prior to version 3.6.8 are affected.

💻 Affected Systems

Products:
  • Traefik
Versions: All versions prior to 3.6.8
Operating Systems: All platforms running Traefik
Default Config Vulnerable: ⚠️ Yes
Notes: Affects any Traefik deployment with entrypoints configured, particularly those handling Postgres or STARTTLS traffic

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to connection pool exhaustion, affecting all traffic through the Traefik proxy

🟠

Likely Case

Degraded performance and intermittent service disruptions as connections accumulate

🟢

If Mitigated

Minimal impact with proper network segmentation and connection limits

🌐 Internet-Facing: HIGH - Directly exploitable from internet without authentication
🏢 Internal Only: MEDIUM - Still exploitable internally but with more limited attack surface

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple network-level attack requiring minimal technical skill to execute

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.6.8

Vendor Advisory: https://github.com/traefik/traefik/security/advisories/GHSA-89p3-4642-cr2w

Restart Required: Yes

Instructions:

1. Download Traefik 3.6.8 from official releases. 2. Stop current Traefik service. 3. Replace binary with patched version. 4. Restart Traefik service. 5. Verify version with 'traefik version' command.

🔧 Temporary Workarounds

Connection timeout reduction

all

Reduce readTimeout values to limit connection duration

# In Traefik configuration, set lower readTimeout values
# Example: entryPoints.web.readTimeout = "30s"

Network filtering

linux

Block Postgres SSLRequest packets at network perimeter

# Example iptables rule to block suspicious packets
iptables -A INPUT -p tcp --dport [traefik-port] -m string --string "\x00\x00\x00\x08\x04\xd2\x16\x2f" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement rate limiting and connection limits at network level
  • Deploy WAF or IPS with DoS protection capabilities

🔍 How to Verify

Check if Vulnerable:

Check Traefik version with 'traefik version' command and compare to 3.6.8

Check Version:

traefik version

Verify Fix Applied:

Confirm version is 3.6.8 or higher and test with simulated SSLRequest packets

📡 Detection & Monitoring

Log Indicators:

  • Unusually high number of long-lived connections
  • Connection timeouts exceeding configured limits
  • Multiple connections with minimal data transfer

Network Indicators:

  • Repeated 8-byte packets to Traefik ports followed by silence
  • Abnormal connection duration patterns

SIEM Query:

source="traefik" AND ("readTimeout" OR "connection" duration>300s)

🔗 References

📤 Share & Export