CVE-2026-41246Kubernetes ingress controller Contour 在 v1.19.0 至特定版本前存在 Lua 代码注入漏洞。由于 Cookie 重写功能使用 Go text/template 对用户输入处理不当,攻击者通过精心构造的 HTTPProxy 资源值,可在 Envoy 代理中执行任意代码。此漏洞仅需低权限 RBAC,可导致凭证窃取或拒绝服务。
该漏洞发生在 Contour 的 Cookie 重写功能中,其底层实现依赖 Envoy 的 HTTP Lua 过滤器。系统在处理 `spec.routes[].cookieRewritePolicies[].pathRewrite.value` 等字段时,使用 Go 的 `text/template` 引擎将用户提供的值直接拼接并渲染进 Lua 源代码脚本。由于缺乏严格的输入清洗与沙箱隔离,攻击者可注入恶意的模板语法或 Lua 代码。攻击链要求攻击者拥有 Kubernetes RBAC 权限以创建或修改 HTTPProxy 资源。尽管注入的代码默认仅在处理攻击者控制的路由流量时触发,但 Envoy 通常作为多租户共享基础设施运行。因此,攻击者利用该注入点不仅能执行任意代码,还能穿透边界读取宿主机文件系统中的敏感凭证(如 Envoy xDS 客户端证书),或通过死循环等方式耗尽资源导致 DoS,进而影响共享同一 Envoy 实例的其他租户业务。