Skip to main content

Contour CVE-2026-41246

| EUVDEUVD-2026-25280 HIGH
Code Injection (CWE-94)
2026-04-23 security-advisories@github.com GHSA-x4mj-7f9g-29h4
8.1
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain tenant RBAC for HTTPProxy
  2. Delivery
    Craft malicious cookieRewritePolicies pathRewrite.value
  3. Exploit
    Contour renders unescaped Lua into Envoy filter
  4. Execution
    Send traffic to own route triggers Lua execution
  5. Persist
    Read xDS credentials / TLS keys or DoS shared Envoy
  6. Impact
    Compromise co-tenant confidentiality and availability

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to already hold Kubernetes RBAC permissions to create or modify HTTPProxy custom resources in the cluster, and the target Contour must be running a vulnerable version (1.19.0-1.31.5, 1.32.0-1.32.4, or 1.33.0-1.33.3) with the Cookie Rewriting feature usable. The exact injection sink is the pathRewrite.value under spec.routes[].cookieRewritePolicies[] or spec.routes[].services[].cookieRewritePolicies[]. Limiting factors: injected Lua only executes on the attacker's own route (they must drive traffic to it), so this is not a drive-by against arbitrary victims; the elevated impact (credential theft, cross-tenant DoS) depends on Envoy being deployed as shared infrastructure across multiple tenants - in a single-tenant deployment the attacker gains nothing beyond what they already control. No end-user interaction is required.

Impact

The vendor CVSS 3.1 score is 8.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H), reflecting high confidentiality and availability impact but requiring privileges (PR:L). Countervailing signals lower the practical urgency: EPSS is only 0.07% (22nd percentile), CISA SSVC records Exploitation=none, Automatable=no, and Technical Impact=partial, and no KEV listing or public POC exists. The critical gating factor understated by AV:N is the RBAC prerequisite - the attacker must already be an authorized tenant able to write HTTPProxy resources, so this is primarily a multi-tenant privilege-boundary/lateral-movement risk rather than an internet-facing unauthenticated RCE. Note a scope consideration: NVD marks S:U, yet the documented impact (reading other tenants' xDS credentials and TLS keys, DoS for co-tenants) crosses a trust boundary, arguably a scope change. Real priority is high for multi-tenant clusters sharing a single Envoy, and low for single-tenant deployments where the attacker already controls all routes.

Exploit ScenarioDerived

A tenant holding namespaced RBAC to manage HTTPProxy objects submits a resource whose spec.routes[].cookieRewritePolicies[].pathRewrite.value contains Lua payload that breaks out of the templated string. When the tenant sends traffic to their own route, Envoy executes the injected Lua, reads the xDS client credentials from the pod filesystem, and uses them to pull the full Contour xDS config - exfiltrating other tenants' TLS private keys - or crashes/hangs the shared Envoy to deny service. No public POC is identified, but the crafting is straightforward given the documented sink field.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

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.

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.

Affected VersionsENISA

contour 1.32.0, < 1.32.5
contour 1.19.0, < 1.31.6
contour 1.33.0, < 1.33.4

Affected Packages

go github.com/projectcontour/contour fix: 1.31.6, 1.32.5, 1.33.4
euvd contour_1_19_0 fix: 1.31.6
euvd contour_1_32_0 fix: 1.32.5
euvd contour_1_33_0 fix: 1.33.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Contour gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
vuln.today AI 9.9 CRITICAL

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).

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:H/SC:H/SI:L/SA:H
SUSE HIGH
Red Hat 8.1 HIGH

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch released
Apr 28, 2026 - 19:04 nvd
Patch available
Patch available
Apr 23, 2026 - 21:01 EUVD
CVE Published
Apr 23, 2026 - 19:17 nvd
HIGH 8.1

DescriptionCVE.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.

Executive ViewAI

Why It Matters

Contour (Kubernetes ingress controller) versions 1.19.0 through 1.31.5/1.32.4/1.33.3 contain a code injection vulnerability allowing cluster members with HTTPProxy resource creation privileges to execute arbitrary code within shared Envoy proxy infrastructure. In multi-tenant deployments, this enables credential theft of encryption keys protecting inter-tenant traffic or denial-of-service attacks against colocated workloads, directly compromising tenant isolation guarantees.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 78% exploitable
Prevalence
Medium
widely used Kubernetes/Envoy ingress controller but not universal
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy