---
id: "CVE-2026-114639"
kind: "vulnerability"
aliases: ["CVE-2026-114639"]
title: "Traefik: shared backend connection pool lets attackers reuse authenticated sockets"
severity: "high"
cvss: 8.7
epss: 0.00311
exploited: false
status: "open"
category: "infrastructure"
products: [{"name": "traefik", "fixed": ["2.11.58"], "affected": ">= 2.11.0, < 2.11.58", "ecosystem": "go"}, {"name": "traefik", "fixed": ["3.7.14"], "affected": ">= 3.0.0, < 3.7.14", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["infrastructure", "kerberos", "kubernetes", "ntlm", "reverse-proxy", "self-hosted", "traefik"]
not_affected_if: ["default-config", "managed-hosting", "no-ntlm-negotiate-backend"]
published_at: "2026-10-22T02:16:56+00:00"
first_seen_at: "2026-10-23T21:57:30+00:00"
updated_at: "2026-10-24T07:15:52+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-114639", "first_seen_at": "2026-10-23T21:57:30+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-10-23T23:45:15+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-114639", "first_seen_at": "2026-10-24T07:15:52+00:00"}]
---

# Traefik: shared backend connection pool lets attackers reuse authenticated sockets

Traefik sends the first backend request of each frontend connection through a shared transport and isolates it only after seeing an NTLM/Negotiate challenge. A client that preauthenticates with Authorization: Negotiate on its first request leaves a victim-authenticated backend socket in the shared pool. An unauthenticated client on another connection can be given that socket and read or write as the victim. It needs a connection-bound NTLM/Negotiate backend with connection reuse enabled, and a client that preauthenticates. The normal challenge-first 401 flow is not affected. Traefik v3.0 to v3.6 are end of life and also affected.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:traefik affected >= 2.11.0, < 2.11.58 fixed 2.11.58
- go:traefik affected >= 3.0.0, < 3.7.14 fixed 3.7.14

## How to check

Run 'traefik version' (or check the image tag) and compare with 2.11.0 to 2.11.57 and 3.0.0 to 3.7.13. Then check whether any service proxies to a backend using Kerberos/SPNEGO or NTLM auth (IIS or other Windows-integrated auth). If no backend uses that auth, exposure is unlikely.

## Fix

Upgrade 2.11.x to 2.11.58 and 3.x to 3.7.14. Traefik v3.0 to v3.6 get no fix on their own line, so move to 3.7.14. The advisory lists no workaround.

## Timeline

- 2026-10-23T21:57:30+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-114639
- 2026-10-23T23:45:15+00:00 analyst — Read Traefik GHSA-qm9f-w54v-q2qh and community release post; X count 0, no discussion. No PoC or exploitation reported. Sibling Traefik NTLM/Negotiate advisories exist (GHSA-qqjf-53cj-pwvv, GHSA-53qr-784g-cj35, GHSA-hrpp-p4fc-wwf8, GHSA-cw35-4q88-3rmp).
- 2026-10-24T07:15:52+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-114639

## Documents

- [advisory] GHSA-qm9f-w54v-q2qh: Preauthenticated Negotiate contaminates Traefik's shared backend pool https://github.com/traefik/traefik/security/advisories/GHSA-qm9f-w54v-q2qh
- [fix] Traefik security update 2.11.58 and 3.7.14 https://community.traefik.io/t/new-security-update-for-traefik-2-11-2-11-58-and-3-7-3-7-14/30268

## From the sources

Traefik 2.11.0 before 2.11.58 and 3.0.0 before 3.7.14 contains an authentication bypass because a first request preauthenticated with an Authorization: Negotiate token authenticates a socket in the globally shared backend connection pool, which is never isolated. Unauthenticated attackers on separate frontend connections can be assigned that NTLM/Kerberos-bound socket and perform reads or writes with the victim's identity.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
