CVE-2026-25949
Undergoing Analysis Undergoing Analysis - In Progress
Denial of Service in Traefik via STARTTLS Request Handling

Publication date: 2026-02-12

Last updated on: 2026-02-20

Assigner: GitHub, Inc.

Description
Traefik is an HTTP reverse proxy and load balancer. Prior to 3.6.8, there is a potential vulnerability in Traefik managing STARTTLS requests. An unauthenticated client can bypass Traefik entrypoint respondingTimeouts.readTimeout by sending the 8-byte Postgres SSLRequest (STARTTLS) prelude and then stalling, causing connections to remain open indefinitely, leading to a denial of service. This vulnerability is fixed in 3.6.8.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-12
Last Modified
2026-02-20
Generated
2026-05-27
AI Q&A
2026-02-12
EPSS Evaluated
2026-05-25
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
traefik traefik to 3.6.8 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': 'CVE-2026-25949 is a high-severity denial of service (DoS) vulnerability in Traefik versions up to 3.6.7 related to how Traefik handles STARTTLS requests for the PostgreSQL protocol.'}, {'type': 'paragraph', 'content': "An unauthenticated attacker can exploit this by sending the 8-byte PostgreSQL SSLRequest (STARTTLS) prelude to Traefik and then stalling the connection. This bypasses Traefik's read timeout mechanism, causing the connection to remain open indefinitely."}, {'type': 'paragraph', 'content': 'This happens because Traefik clears connection deadlines during the STARTTLS negotiation phase, which disables the read timeout and causes the server to wait indefinitely for further client communication.'}, {'type': 'paragraph', 'content': 'As a result, each stalled connection consumes resources such as goroutines and file descriptors, which can be exhausted at scale, leading to denial of service.'}] [3]


How can this vulnerability impact me? :

This vulnerability can cause a denial of service by exhausting system resources on the Traefik server.

  • An attacker can open many stalled connections that remain open indefinitely.
  • Each stalled connection consumes a goroutine and a file descriptor.
  • At scale, this resource exhaustion can cause Traefik to hit process limits and become unavailable.
  • The vulnerability affects any internet-exposed TCP entrypoint using protocol detection with readTimeout enabled, even if no PostgreSQL or TCP routers are configured.

How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring for open connections that send the 8-byte Postgres SSLRequest (STARTTLS) prelude and then stall, causing connections to remain open indefinitely. A proof of concept involves opening multiple TCP connections sending the Postgres SSLRequest and observing if these connections do not close after the configured readTimeout period.

One practical approach is to check the number of open file descriptors or TCP connections to the Traefik server, especially those stuck in a half-open state after sending the Postgres SSLRequest bytes.

While specific commands are not provided in the resources, typical commands to detect such behavior could include:

  • Using netstat or ss to list TCP connections and identify those in unusual states or with long durations: e.g., `netstat -anp | grep <traefik_port>` or `ss -tanp | grep <traefik_port>`.
  • Using lsof to count open file descriptors for the Traefik process: e.g., `lsof -p <traefik_pid> | wc -l`.
  • Monitoring goroutine counts or resource usage of the Traefik process to detect resource exhaustion.

A Python script demonstrating the vulnerability was used in the advisory to open many connections sending the Postgres SSLRequest and measure file descriptor counts before and after sleeping beyond the readTimeout, confirming the vulnerability.


What immediate steps should I take to mitigate this vulnerability?

The primary and immediate mitigation step is to upgrade Traefik to version 3.6.8 or later, where this vulnerability has been fixed.

The fix involves improved handling of connection deadlines during the STARTTLS negotiation phase, preventing connections from remaining open indefinitely.

Until the upgrade can be performed, consider limiting exposure of Traefik TCP entrypoints to untrusted networks or applying network-level protections such as firewall rules to restrict access.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart