Traefik 3.7.12 → 3.7.17
5 releases · 1 breaking change · 22 security fixes · 17 advisories fixed
22security1breaking0deprecated3feature78fix
Vulnerabilities fixed by this upgrade
- 7.0 GHSA-hrpp-p4fc-wwf8 ForwardAuth shares the auth-server connection pool, leaking NTLM/Negotiate-bound identity across clients
- 2.1 GHSA-28hp-c82p-8vqj Kubernetes Ingress NGINX provider: a TLS-option cache hit skips the cross-namespace authorization check, letting an Ingress use another namespace's CA secret
- 8.2 GHSA-ww7c-q3mv-xx22 Data race on the shared bufio.Reader after an HTTP/1 upgrade in FastProxy panics the whole process
- 7.0 GHSA-p8wx-ph99-xgcr ingress-nginx provider: mTLS (auth-tls-secret) silently disabled for a host when another Ingress on the same host has no matching auth-tls annotation
- 6.3 GHSA-mhjw-hmjv-p99x Unsynchronized write to the per-connection sticky round tripper shared by concurrent HTTP/2 streams
- 6.9 GHSA-2272-4vv8-65ww Negated Host matcher causes a TLS option conflict that disables client-certificate authentication on the excluded host
- 7.0 GHSA-rv2h-qh7j-xrjw Ingress-NGINX provider: colliding auth-tls-secret names merge two client CAs into one TLS option, so a host is gated by another host's CA
- 7.0 GHSA-mwrr-6hp4-pxr6 Ingress-NGINX provider forwards forged Ssl-Client-* identity headers on its HTTP route
- 7.0 GHSA-53qr-784g-cj35 FastProxy backend connection pool leaks connection-bound NTLM/Negotiate identity to unauthenticated clients
- 7.0 GHSA-cw35-4q88-3rmp Connection-scoped NTLM/Kerberos sticky round tripper is not keyed by service, applying one service TLS client config to another
- 7.0 GHSA-qm9f-w54v-q2qh Preauthenticated Negotiate contaminates Traefik's globally shared backend connection pool
- 7.0 GHSA-fh26-gfpp-7xxx snicheck skips the check when `req.TLS` is nil (HTTP/2 `:scheme http`)
- 6.3 CVE-2026-88010 BasicAuth singleflight coalescing reintroduces an unauthenticated username-enumeration timing oracle
- 7.0 CVE-2026-88004 Traefik entrypoint header-name sanitization bypassed via request trailers
- 7.0 CVE-2026-88008 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') and Incorrect Authorization in github.com/traefik/traefik/v3
- 9.1 CVE-2026-88007 Traefik HTTP/3 Backend NTLM Connection Reuse
- 8.8 CVE-2026-88009 Rootless HTTP/1 request-target routes as "/" but is forwarded verbatim, bypassing path-scoped routing, middleware guards and access logging
Breaking changes
- breaking Remove redundant period in README ( @mxmrnn) in 3.7.15
Security changes
- security [security] Point security announcements to GitHub advisories ( @nmengin) in 3.7.17
- security Advisory GHSA-hrpp-p4fc-wwf8 in 3.7.16
- security Advisory GHSA-p8wx-ph99-xgcr in 3.7.15
- security Advisory GHSA-ww7c-q3mv-xx22 in 3.7.15
- security Advisory GHSA-28hp-c82p-8vqj in 3.7.15
- security [security] Fix typo in the Request Path page ( @SethFalco) in 3.7.15
- security Advisory GHSA-53qr-784g-cj35 in 3.7.14
- security Advisory GHSA-cw35-4q88-3rmp in 3.7.14
- security Advisory GHSA-fh26-gfpp-7xxx in 3.7.14
- security Advisory GHSA-mwrr-6hp4-pxr6 in 3.7.14
- security Advisory GHSA-qm9f-w54v-q2qh in 3.7.14
- security Advisory GHSA-qvj7-gq9c-hp7q in 3.7.14
- security Advisory GHSA-rv2h-qh7j-xrjw in 3.7.14
- security Advisory GHSA-mhjw-hmjv-p99x in 3.7.14
- security [security] Document the coordinated disclosure embargo for security reports ( @emilevauge) in 3.7.14
- security Advisory GHSA-qqjf-53cj-pwvv in 3.7.13
- security Advisory GHSA-f52w-8j3h-j724 in 3.7.13
- security Advisory GHSA-v67p-phpq-fc8x in 3.7.13
- security Advisory GHSA-w4v4-9rw7-5326 in 3.7.13
- security Advisory GHSA-2272-4vv8-65ww in 3.7.13
- security Advisory GHSA-8fcf-v89g-xpg6 in 3.7.13
- security Tell scanning agents to read the security policy and decisions pages ( @emilevauge) in 3.7.13
Every release in between
fix[acme] Bump github.com/go-acme/lego/v5 to v5.6.0 ( @ldez)
fix[acme] Bump github.com/go-jose/go-jose/v4 to v4.1.6 ( @Mheaus)
fix[http3] Bump github.com/quic-go/quic-go to v0.64.1 ( @janpachol)
fix[k8s/gatewayapi] Preserve Gateway status conditions owned by other controllers ( @Neffi42)
fix[k8s/ingress-nginx] Avoid generated name collisions across namespaces in the ingress-nginx provider ( @Neffi42)
fix[logs, k8s/gatewayapi] Lower user configuration error logs to debug ( @rtribotte)
fix[middleware] Bump github.com/andybalholm/brotli to v1.2.7 ( @albe2669)
fix[middleware] Fix broken flush, hijack, and deadlines in wrapped ResponseWriters ( @Neffi42)
fix[middleware, authentication, k8s/crd, k8s, k8s/ingress-nginx] Resolve secret references when building middlewares ( @sdelicata)
fix[server] Add an entry point option to limit the number of request header values ( @juliens)
fix[server] Add global default for aliasHeadersStrategy ( @nikolas-sapa)
fix[server] Bump golang.org/x/net to v0.62.0 ( @kevinpollet)
fix[server] Fix backend connection leak for NTLM and Kerberos authentication ( @juliens)
fix[server, fastproxy] Fix FastProxy backend connection leak for NTLM and Kerberos ( @juliens)
other[docker] Update Docker Basic guide to use Traefik v3.7 ( @Saku0512)
security[security] Point security announcements to GitHub advisories ( @nmengin)
securityAdvisory GHSA-hrpp-p4fc-wwf8
fix[authentication, service, k8s/ingress-nginx] Support NTLM and Kerberos in ForwardAuth and ingress-nginx auth-url ( @juliens)
fix[authentication, service] Support NTLM and Kerberos authentication in ForwardAuth ( @juliens)
fix[k8s/gatewayapi] Fix Gateway API conformance suite setup with the containerd image store ( @Neffi42)
other[k8s/ingress-nginx] Document that rewrite is supported in configuration-snippet ( @bingtang9)
securityAdvisory GHSA-p8wx-ph99-xgcr
securityAdvisory GHSA-ww7c-q3mv-xx22
securityAdvisory GHSA-28hp-c82p-8vqj
fix[server] Reject CONNECT requests regardless of HTTP version ( @juliens)
fix[server] Reject CONNECT method before reaching the muxer ( @juliens)
fix[k8s/crd] Allow observability metadata on child routers ( @bunnysayzz)
fix[k8s/gatewayapi] Bump sigs.k8s.io/gateway-api to v1.6.3 ( @rtribotte)
fix[k8s/gatewayapi] Default HTTPRoute backend scheme to HTTP when no appProtocol ( @Tyagiquamar)
fix[k8s/ingress-nginx] Apply auth-tls client authentication to the whole host ( @juliens)
fix[k8s/ingress-nginx] Fix cross-namespace check on shared auth-tls-secret TLS options ( @juliens)
fix[fastproxy] Add a non-regression test for CR/LF in FastProxy request headers ( @mturac)
fix[fastproxy] Fix concurrent buffer reads on upgraded connections ( @juliens)
fixBump golang.org/x/net to v0.60.0 ( @kevinpollet)
security[security] Fix typo in the Request Path page ( @SethFalco)
other[k8s/crd] Fix broken Kubernetes CRD definitions links in CRD reference pages ( @SatvikMishra08)
other[k8s] Document the safeNaming impact on cross-provider references ( @lazerg)
other[k8s/gatewayapi] Fix broken links in the Gateway API routing page ( @Neffi42)
fixFix broken anchor links to Restrict the Scope of Service Discovery ( @SatvikMishra08)
featureAdd the documentation style guide to the Contributing section ( @rachana5)
breakingRemove redundant period in README ( @mxmrnn)
securityAdvisory GHSA-53qr-784g-cj35
securityAdvisory GHSA-cw35-4q88-3rmp
securityAdvisory GHSA-fh26-gfpp-7xxx
securityAdvisory GHSA-mwrr-6hp4-pxr6
securityAdvisory GHSA-qm9f-w54v-q2qh
securityAdvisory GHSA-qvj7-gq9c-hp7q
securityAdvisory GHSA-rv2h-qh7j-xrjw
securityAdvisory GHSA-mhjw-hmjv-p99x
fix[acme] Bump github.com/go-acme/lego/v5 to v5.5.1 ( @ldez)
fix[acme] Bump github.com/go-acme/lego/v5 to v5.5.2 ( @ldez)
fix[acme] Close the newly created ACME storage file on Windows ( @datrixlab)
fix[docker] Bump github.com/docker/cli to v29.8.1 ( @kevinpollet)
fix[fastproxy] Isolate NTLM and Negotiate backend connections in FastProxy ( @kevinpollet)
fix[k8s/gatewayapi] Allow configuring gateways ( @kevinpollet)
fix[k8s/gatewayapi] Bump sigs.k8s.io/gateway-api to v1.6.2 ( @kevinpollet)
fix[k8s/gatewayapi] Do not create the Gateway API routers a previous one shadows ( @rtribotte)
fix[k8s/gatewayapi] Do not let TLSRoute routers shadow TCPRoute routers ( @rtribotte)
fix[k8s/gatewayapi] Fix HTTP/GRPC routes conflict ( @AnatoleLucet)
fix[k8s/gatewayapi] Fix TLSRoute router name collision across listeners sharing an entry point ( @rtribotte)
fix[k8s/gatewayapi] Report the BackendTLSPolicy ancestor in the namespace of its Gateway ( @rtribotte)
fix[k8s/gatewayapi] Stable sort Gateways to keep the TLS certificate order stable ( @rl-io)
fix[k8s/ingress-nginx] Build the ssl-passthrough HTTP route like any other ingress ( @rtribotte)
fix[k8s/ingress-nginx] Do not normalize resource names in the ingress-nginx provider ( @kevinpollet)
fix[k8s/ingress-nginx] Fix the ingress-nginx cross-links between the routing and provider docs ( @simpleqt)
fix[k8s/ingress-nginx] Make trailing capture group optional in ImplementationSpecific paths ( @mmatur)
fix[k8s/ingress-nginx] Remove Authorization header for basic and digest auth ( @josmo)
fix[k8s/ingress-nginx] Set the Ssl-Client-* request headers on the Ingress-NGINX HTTP router ( @rtribotte)
fix[k8s/ingress-nginx] Support wildcard origins in cors-allow-origin for the ingress-nginx provider ( @kimsehyoung)
fix[logs, middleware, k8s/crd] Expose IngressRoute metadata in access logs ( @mmatur)
fix[middleware] Avoid deprecated table.maxn in the rate limiter Lua script ( @lazerg)
fix[otel] Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric to v1.46.0 ( @kevinpollet)
fix[otel] Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace to v1.46.0 ( @kevinpollet)
fix[otel] Bump otlploggrpc and otlploghttp to v0.22.0 ( @kevinpollet)
fix[rules] Ignore negated matchers when parsing rule domains ( @rtribotte)
fix[server] Bump golang.org/x/crypto to v0.57.0 ( @kevinpollet)
fix[server] Silence encoded characters warning when some are disallowed ( @Adel-Ayoub)
fix[service] Dedicate a sticky transport per ServersTransport ( @sdelicata)
fix[service] Fix the second server selection bias in the P2C load balancer ( @lazerg)
security[security] Document the coordinated disclosure embargo for security reports ( @emilevauge)
feature[tcp] Fix 'allows to configure' grammar in TCP ServersTransport ( @fng713)
+11 more items in the release notessecurityAdvisory GHSA-qqjf-53cj-pwvv
securityAdvisory GHSA-f52w-8j3h-j724
securityAdvisory GHSA-v67p-phpq-fc8x
securityAdvisory GHSA-w4v4-9rw7-5326
securityAdvisory GHSA-2272-4vv8-65ww
securityAdvisory GHSA-8fcf-v89g-xpg6
fix[acme] Bump github.com/go-acme/lego/v5 to v5.4.1 ( @ldez)
fix[acme] Disable recursive nss propagation by default for DNS challenge ( @rtribotte)
fix[acme] Do not require recursive nameservers propagation by default for the DNS-01 challenge ( @amazon7737)
fix[acme, tls] Ignore negated matchers when parsing rule domains ( @rtribotte)
fix[consulcatalog, nomad] Build a collision-free item key in the Consul Catalog and Nomad providers ( @rtribotte)
fix[http3] Dedicate a transport per HTTP/3 client connection ( @sdelicata)
fix[k8s/ingress-nginx] Fix sticky cookie expiration per request ( @makaiver)
fix[k8s/ingress-nginx] Create HTTP redirect router for ssl-passthrough with force-ssl-redirect ( @mmatur)
fix[k8s/ingress-nginx] Preserve leading dot in sticky session cookie Domain attribute ( @mmatur)
fix[logs, middleware] Set access log entry level and time before formatting the OTLP body ( @emilevauge)
fix[logs, tls, k8s/crd] Downgrade default TLS resources namespace mismatch log to warning ( @lazerg)
fix[middleware] Fix {url} placeholder in customErrors middleware now includes correct scheme ( @AnouarMohamed)
fix[middleware, authentication] Prevent user enumeration through the basic auth singleflight key ( @sdelicata)
fix[server] Build the configuration copy once per change ( @jspdown)
fix[server] Do not forward h2c upgrade headers to the backend ( @sdelicata)
fix[server] Deny request with an opaque request target ( @sdelicata)
fix[server] Do not forward request trailer values to the backend ( @rtribotte)
fix[server] Bump github.com/quic-go/quic-go to v0.62.0 ( @Nelwhix)
fix[tls] Redact duplicate TLS certificates in provider merge logs ( @xsergos)
fix[webui] Fix displayed number on details pages ( @gndz07)
feature[k8s] Add warning about Ingress API frozen state ( @jnoordsij)
other[k8s] Remove namespace reference for providers.kubernetesGateway.labelSelector ( @jnoordsij)
other[k8s/crd] Fix broken redirect for the Kubernetes CRD reference docs ( @thev1ndu)
securityTell scanning agents to read the security policy and decisions pages ( @emilevauge)