
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-112778 is a missing authorization vulnerability in Traefik's Kubernetes Ingress provider that allows cross-namespace references to Middlewares, ServersTransports, and TLSOptions via Ingress and Service annotations. It affects Traefik versions before 2.11.46, 3.x before 3.6.17, and 3.7.0 (fixed in 3.7.1). The vulnerability was published on October 19, 2026, and was discovered by Lorin Lehawany and Sven Nobis of ERNW Enno Rey Netzwerke GmbH. It carries a CVSS v4.0 base score of 6.4 (Medium) (GitHub Advisory, Traefik Advisory).
The root cause is a missing authorization check (CWE-862) in Traefik's Kubernetes Ingress provider (pkg/provider/kubernetes/ingress/kubernetes.go), which performs no namespace validation when processing annotations on Ingress and Service resources. In contrast, the Kubernetes CRD provider correctly enforces namespace boundaries via the allowCrossNamespace configuration option. An attacker with low-privilege access (permission to create or update Ingress or Service resources in any namespace) can set the traefik.ingress.kubernetes.io/router.middlewares or traefik.ingress.kubernetes.io/service.serverstransport annotations to reference resources — such as a Headers middleware containing an API token or a ServersTransport with mTLS client certificates — from a victim's namespace. The fix introduces a crossProviderNamespaces option on Kubernetes providers to restrict which namespaces are permitted to use cross-provider references (Traefik Advisory).
Successful exploitation allows an attacker to bypass namespace-based tenant isolation in multi-tenant Kubernetes clusters, enabling them to steal credentials injected by another tenant's Headers middleware (e.g., API tokens) or reuse another tenant's mTLS client certificates to authenticate against protected internal services. The primary impact is on the integrity and availability of subsequent systems (rated High for both), with low confidentiality impact on subsequent systems. This can lead to unauthorized access to other tenants' internal services, credential theft, and potential lateral movement within the cluster, particularly in shared Kubernetes environments (Traefik Advisory, GitHub Advisory).
No public proof-of-concept exploit code has been observed, and there is no evidence of in-the-wild exploitation at the time of disclosure (Feedly). The EPSS score is 0.0, reflecting low current exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires low privileges (the ability to create or modify Ingress or Service resources in at least one namespace) and no user interaction, making it accessible to any tenant in a multi-tenant cluster (GitHub Advisory, VulnCheck).
kubectl describe pod -n <traefik-namespace> or by inspecting Helm release metadata.kubectl get middleware --all-namespaces or kubectl get serverstransport --all-namespaces (if RBAC permits listing), or infer resource names from Traefik logs or documentation.traefik.ingress.kubernetes.io/router.middlewares: "<victim-namespace>-<middleware-name>@kubernetescrd" pointing to the victim's Headers middleware. Route traffic to an attacker-controlled backend (e.g., a whoami container that reflects all HTTP headers).X-API-Token) into the request, which are then reflected by the attacker's backend and captured.traefik.ingress.kubernetes.io/service.serverstransport: "<victim-namespace>-<serverstransport-name>@kubernetescrd" and route traffic via a proxy (e.g., socat) to the victim's mTLS-protected service.middlewareName=<victim-namespace>-<middleware>@kubernetescrd in a router named after the attacker's namespace); log entries like Creating middleware ... middlewareName=<foreign-namespace>-<name>@kubernetescrd routerName=<attacker-namespace>-....traefik.ingress.kubernetes.io/router.middlewares referencing a namespace other than the resource's own namespace).kubectl get ingress --all-namespaces -o json | jq '.items[] | select(.metadata.annotations | to_entries[] | .value | contains("@kubernetescrd")) | {namespace: .metadata.namespace, name: .metadata.name, annotations: .metadata.annotations}' (Traefik Advisory).Upgrade Traefik to a patched version: 2.11.46, 3.6.17, or 3.7.1 or later. The fix introduces the crossProviderNamespaces option on Kubernetes providers, which should be explicitly configured to restrict cross-namespace references. As an interim workaround, restrict RBAC permissions to limit which users or service accounts can create or modify Ingress and Service resources, implement Kubernetes audit logging to detect suspicious cross-namespace annotation usage, and review existing Ingress and Service annotations for references to resources in foreign namespaces (Traefik Advisory, VulnCheck).
The vulnerability was discovered and responsibly disclosed by security researchers Lorin Lehawany and Sven Nobis of ERNW Enno Rey Netzwerke GmbH, who provided detailed proof-of-concept demonstrations for both the Middleware and ServersTransport attack scenarios. The Traefik maintainers published a security advisory (GHSA-rh7m-2m44-x32f) and released patched versions promptly. No significant broader media coverage or notable social media reactions have been observed beyond the initial advisory publication (Traefik Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."