Impact
The vulnerability resides in the Cookie Rewriting feature of Contour, a Kubernetes ingress controller that utilizes Envoy's HTTP Lua filter. When an attacker with permission to create or modify HTTPProxy resources crafts a malicious value in the cookieRewritePolicies.pathRewrite.value field, the value is interpolated into Lua code without proper sanitization. This enables arbitrary Lua code execution within the Envoy proxy, allowing the attacker to read Envoy's xDS client credentials or cause a denial of service. The injected code runs only when traffic is processed on the attacker’s own route, but because Envoy operates as shared infrastructure, the malicious script can affect other tenants as well.
Affected Systems
Versions of Contour from 1.19.0 up to but excluding 1.33.4, 1.32.5, and 1.31.6 are impacted. The bug is fixed in Contour releases 1.33.4, 1.32.5, and 1.31.6; any deployment using earlier releases should be evaluated for upgrade eligibility.
Risk and Exploitability
The CVSS score of 8.1 indicates high severity, while the EPSS score indicates very low probability of exploitation in the wild. The vulnerability is not listed in CISA's KEV catalog. Exploitation requires RBAC permissions to create or modify HTTPProxy resources, so an attacker must either have legitimate cluster privileges or compromise a user with those rights. Once the malicious route is defined, the injected Lua code is executed during traffic handling and can exfiltrate credentials or crash Envoy, potentially impacting multiple tenants that share the same Envoy instance.
OpenCVE Enrichment
Github GHSA