CVE-2026-41246: Contour: Lua code injection via Cookie Path Rewrite Policy

Published Apr 23, 2026
·
Updated

Impact

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 the following fields that results in arbitrary code execution in the Envoy proxy:

- spec.routes[].cookieRewritePolicies[].pathRewrite.value - spec.routes[].services[].cookieRewritePolicies[].pathRewrite.value

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, which could be used to read all Contour xDS configuration, including TLS certificates and private keys of other tenants. - Cause denial of service for other tenants sharing the Envoy instance.

Other use cases of Lua filter are not vulnerable.

Patches

The fix is available in Contour v1.33.4, v1.32.5, and v1.31.6.

- v1.33.4: User-provided values are no longer interpolated into Lua code. Use of text/template is removed. Requires Envoy 1.35.0 or later. - v1.32.5, v1.31.6: User-provided values are escaped before interpolation into Lua code.

Workarounds

There are no workarounds. Users should upgrade to a patched version.

Other sources

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.

MITRE

Affected Software

7 affected componentsFixes available
Project Contour Contour>=1.19.0<1.31.6, >=1.32.0<1.32.5, >=1.33.0<1.33.4
go/github.com/projectcontour/contour>=1.33.0<1.33.4
1.33.4
go/github.com/projectcontour/contour>=1.32.0<1.32.5
1.32.5
go/github.com/projectcontour/contour>=1.19.0<1.31.6
1.31.6
projectcontour Contour Kubernetes>=1.19.0<1.31.6
projectcontour Contour Kubernetes>=1.32.0<1.32.5
projectcontour Contour Kubernetes>=1.33.0<1.33.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/projectcontour/contour to a version that resolves this vulnerability.

    Fixed in 1.33.4
  2. Upgrade

    Upgrade go/github.com/projectcontour/contour to a version that resolves this vulnerability.

    Fixed in 1.32.5
  3. Upgrade

    Upgrade go/github.com/projectcontour/contour to a version that resolves this vulnerability.

    Fixed in 1.31.6
  4. Upgrade

    Upgrade Contour (HTTPProxy / Cookie Rewriting via Envoy HTTP Lua filter) to a version that resolves this vulnerability.

    Fixed in v1.33.4
  5. Upgrade

    Upgrade Contour (HTTPProxy / Cookie Rewriting via Envoy HTTP Lua filter) to a version that resolves this vulnerability.

    Fixed in v1.32.5
  6. Upgrade

    Upgrade Contour (HTTPProxy / Cookie Rewriting via Envoy HTTP Lua filter) to a version that resolves this vulnerability.

    Fixed in v1.31.6

Event History

Apr 23, 2026
CVE Published
via MITRE·06:44 PM
Data Sourced
via MITRE·06:44 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·08:02 PM
DescriptionSeverityAffected Software
Apr 24, 2026
Advisory Published
via GitHub·03:19 PM
Data Sourced
via GitHub·03:19 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-41246?

CVE-2026-41246 has a critical severity due to its potential for remote code execution.

2

How do I fix CVE-2026-41246?

To fix CVE-2026-41246, upgrade to Contour versions v1.33.4 or later, v1.32.6, or v1.31.7.

3

What specific versions are affected by CVE-2026-41246?

CVE-2026-41246 affects Contour versions from v1.19.0 to before v1.33.4, including v1.32.5 and v1.31.6.

4

Can an attacker exploit CVE-2026-41246 without special permissions?

No, an attacker must have RBAC permissions to create or modify Cookie Path Rewrite Policies to exploit CVE-2026-41246.

5

What type of vulnerability is CVE-2026-41246?

CVE-2026-41246 is a Lua code injection vulnerability in the Cookie Rewriting feature of Contour.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203