Database/Container, Kubernetes & orchestration
Traefik: mTLS silently disabled when another Ingress shares the host, bypassing client-cert auth
Impact
Traefik's Kubernetes Ingress NGINX provider drops the mTLS configuration declared by the auth-tls-secret annotation when a second Ingress declares a path on the same host without matching auth-tls settings; the route then falls back to the default TLS options. A backend that was meant to be reachable only with a valid client certificate becomes reachable unauthenticated from anywhere the ingress is exposed. On a GPU cluster this is the pattern used to fence off internal control surfaces - scheduler APIs, inference endpoints, metrics - behind certificate auth, and the bypass is silent: the annotation is still present in the manifest, so an operator reading config sees mTLS enabled while it is not enforced. Any namespace allowed to create an Ingress on a shared host can trigger the fallback for someone else's route.
Who can reach it
Unauthenticated network attacker who can reach the Traefik ingress, once any Ingress object (possibly created by a different tenant namespace) declares a path on the same host without matching auth-tls annotations. No credentials and no client certificate needed.
What to do
Upgrade Traefik to 3.7.15 or later; affected range is 3.7.0-ea.1 through 3.7.14. Rolling-restart the Traefik deployment, which is a normal daemon restart with no GPU node impact. Until patched, audit Ingress objects that share a host with an mTLS-protected route and verify from outside that the protected path actually demands a client certificate.
References
Related entries
- Traefik: Service middleware annotation escapes crossProviderNamespaces restrictionsCVE-2026-85594 · Traefik Kubernetes Ingress provider (traefik.ingress.kubernetes.io/service.middlewares annotation)High
- Cilium: A user who can create CiliumNetworkPolicy in one namespace affects traffic cluster-wideCVE-2023-41333 · CiliumMedium
- Docker / moby: Classic builder cache poisoning for images built FROM scratchCVE-2024-24557 · Docker / mobyMedium
- Kyverno: policy Service Call resolves external addresses and ships policy context off-clusterCVE-2025-15613 · Kyverno admission controller (policy apiCall Service Call)Medium
- Kata Containers: A malicious host can circumvent guest protectionsCVE-2025-58354 · Kata ContainersMedium
- containerd: CRI Attach implementation bug lets a user attach to a container they should not reachCVE-2025-64329 · containerdMedium
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.