Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
HTTPProxy is API-network reachable (AV:N/AC:L) but needs tenant RBAC (PR:L); impact crosses to co-tenants sharing Envoy (S:C), enabling key theft (C:H) and DoS (A:H), with limited integrity (I:L).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
6DescriptionCVE.org
Contour is a Kubernetes ingress controller using Envoy proxy. From v1.19.0 to before v1.33.4, v1.32.5, and v1.31.6, Contour's Cookie Rewriting feature is vulnerable to Lua code injection. An attacker with RBAC permissions to create or modify HTTPProxy resources can craft a malicious value in spec.routes[].cookieRewritePolicies[].pathRewrite.value or spec.routes[].services[].cookieRewritePolicies[].pathRewrite.value that results in arbitrary code execution in the Envoy proxy. The cookie rewriting feature is internally implemented using Envoy's HTTP Lua filter. User-controlled values are interpolated into Lua source code using Go text/template without sufficient sanitization. The injected code only executes when processing traffic on the attacker's own route, which they already control. However, since Envoy runs as shared infrastructure, the injected code can also read Envoy's xDS client credentials from the filesystem or cause denial of service for other tenants sharing the Envoy instance. This vulnerability is fixed in v1.33.4, v1.32.5, and v1.31.6.
AnalysisAI
Lua code injection in Contour (Kubernetes ingress controller for Envoy) from v1.19.0 through the fixes in v1.31.6/v1.32.5/v1.33.4 lets a low-privileged tenant achieve arbitrary code execution inside the shared Envoy proxy. A user with RBAC rights to create or modify HTTPProxy resources injects Lua via the cookie-rewrite pathRewrite.value field; although the code only runs on the attacker's own route, it executes in shared infrastructure and can steal Envoy's xDS credentials (exposing other tenants' TLS keys) or cause denial of service for co-tenants. No public exploit identified at time of analysis, and EPSS is low (0.07%, 22nd percentile), consistent with the requirement for pre-existing cluster RBAC access.
Technical ContextAI
Contour is a Kubernetes ingress controller that programs Envoy via the xDS control-plane protocol. Its Cookie Rewriting feature is implemented under the hood using Envoy's HTTP Lua filter, and Contour generates that Lua source by interpolating user-supplied HTTPProxy field values into a Go text/template. Because the pathRewrite.value string is placed into Lua source without adequate escaping, this is a classic CWE-94 Code Injection: attacker-controlled data crosses into an interpreted code context. The affected component per CPE is projectcontour:contour (Kubernetes application). The fix in v1.31.6/v1.32.5 escapes user values before interpolation, while v1.33.4 removes text/template interpolation entirely (and requires Envoy 1.35.0+); patched builds bump Envoy to v1.34.14 on the 1.31 line.
RemediationAI
Vendor-released patch: upgrade to Contour v1.33.4, v1.32.5, or v1.31.6 depending on your release line (release notes: https://github.com/projectcontour/contour/releases/tag/v1.33.4 , /v1.32.5 , /v1.31.6 ). Note that v1.33.4 requires Envoy 1.35.0 or later, so plan the corresponding Envoy upgrade; the 1.31.x/1.32.x fixes escape user values and ship Envoy v1.34.14. The advisory explicitly states there are no configuration workarounds, so patching is mandatory. As interim compensating controls while scheduling the upgrade, tighten RBAC so untrusted or low-trust tenants cannot create or modify HTTPProxy resources (removing create/update on the httpproxies CRD), and consider admission-control policy (e.g., OPA/Gatekeeper or Kyverno) to reject HTTPProxy objects that set cookieRewritePolicies[].pathRewrite.value - the trade-off is that legitimate cookie-path rewriting for those tenants breaks. In hard multi-tenant environments, isolating tenants onto separate Envoy instances limits credential/DoS blast radius but increases operational overhead.
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Same weakness CWE-94 – Code Injection
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25280
GHSA-x4mj-7f9g-29h4