Skip to main content

Envoy Gateway CVE-2026-53715

MEDIUM
Race Condition (CWE-362)
2026-07-16 https://github.com/envoyproxy/gateway GHSA-8fv2-88gg-hm7q
5.3
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
5.3 MEDIUM
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.3 MEDIUM

Network reader on :18002, race condition raises AC:H, tenant RBAC for EnvoyExtensionPolicy sets PR:L, DoS-only impact with no confidentiality or integrity consequence.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

2
Source Code Evidence Fetched
Jul 16, 2026 - 19:52 vuln.today
Analysis Generated
Jul 16, 2026 - 19:52 vuln.today

DescriptionGitHub Advisory

Vulnerability report without repro case. Repro case may be added later after harness is complete.

Preconditions (4):

  • Pod-network reachability to :18002 (no auth)
  • Tenant can create EnvoyExtensionPolicy (baseline)
  • Attacker pod floods GET while churning EnvoyExtensionPolicy with distinct Wasm URLs
  • Read at :153 must overlap a write at :201/:209 (probabilistic, attacker controls both rates)

Description:

httpserver.go:153 reads s.mappingPath2Cache with no lock while httpserver.go:201/209 write it under s.Lock(); the struct uses a plain map. Writer is tenant-reachable via EnvoyExtensionPolicy translation, reader is pod-network-reachable on :18002 with per-request goroutines. Go's concurrent map read+write detection calls runtime.throw, which net/http's per-conn recover cannot catch, so the controller process exits - cross-tenant control-plane DoS. Capped at MEDIUM: DoS-only, k8s restarts pod, timing-dependent trigger.

AnalysisAI

Envoy Gateway's Wasm extension cache HTTP server (port 18002) can be crashed by a tenant-level attacker, causing a cross-tenant control-plane denial of service. The race condition in httpserver.go causes Go's runtime to call runtime.throw upon detecting an unsynchronized concurrent map access - a fatal signal that net/http's per-connection recover cannot intercept - terminating the entire controller process. While Kubernetes restarts the pod, all tenants sharing the controller lose control-plane availability during the restart window. No public exploit has been identified at time of analysis, but the four-condition precondition set is largely within baseline tenant capabilities.

Technical ContextAI

Envoy Gateway (pkg:go/github.com/envoyproxy/gateway) is a Kubernetes-native implementation of the Gateway API, using Envoy Proxy as the data plane. The affected component is an internal HTTP server on port 18002 that serves cached Wasm extension binaries. The cache is stored in s.mappingPath2Cache, a plain Go map - not a sync.Map or equivalent concurrency-safe structure (CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization). The read path at httpserver.go:153 is invoked per incoming HTTP request goroutine without holding the struct mutex, while the write path at httpserver.go:201 and :209 does acquire s.Lock() during EnvoyExtensionPolicy translation. Go's runtime map implementation detects concurrent read/write races and invokes runtime.throw, a non-recoverable fatal function that bypasses the recover() mechanism used by net/http's per-connection panic handler, causing an immediate process exit. The writer path is reachable by tenants authorized to create EnvoyExtensionPolicy resources, and the reader path is exposed over pod-network without authentication.

RemediationAI

Upgrade to Envoy Gateway 1.7.4 (for 1.7.x deployments) or 1.8.1 (for 1.8.x deployments), as confirmed by the vendor advisory GHSA-8fv2-88gg-hm7q at https://github.com/envoyproxy/gateway/security/advisories/GHSA-8fv2-88gg-hm7q. The fix must add locking around the read at httpserver.go:153 to match the existing lock protection on writes at :201/:209, or replace the plain map with a sync.Map. If immediate upgrade is not possible, restrict pod-network access to port 18002 via Kubernetes NetworkPolicy to limit the read-side attack surface - note this may break Wasm extension serving for legitimate consumers. Additionally, tighten RBAC to limit which service accounts and tenants can create or modify EnvoyExtensionPolicy resources, reducing the set of principals who can trigger the write path; this trade-off removes extension management capability from restricted tenants. Neither workaround eliminates the race; only the patch resolves the root cause.

CVE-2025-1974 CRITICAL POC
9.8 Mar 25

A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2025-1098 HIGH POC
8.8 Mar 25

Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress

CVE-2025-24514 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres

CVE-2025-1097 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c

CVE-2020-8554 MEDIUM POC
6.3 Jan 21

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter

CVE-2023-3676 HIGH POC
8.8 Oct 31

A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2026-34976 CRITICAL POC
10.0 Apr 02

Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

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

CVE-2026-54680 CRITICAL POC
9.9 Jul 29

Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can

CVE-2026-22039 CRITICAL POC
9.9 Jan 27

Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass

Vendor StatusVendor

SUSE

Severity: Moderate
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

Share

CVE-2026-53715 vulnerability details – vuln.today

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