GitHub Advisoryadvisory · Go

GHSA-cxpq-8v7q-cg56 Envoy Gateway: Wasm HTTP fetch decompresses gzip without output-size limit

MEDIUM Published 2026-07-16 Modified 2026-07-16 Official page ↗
Aliases
CVE-2026-53716
Ecosystem
Go
Packages
github.com/envoyproxy/gateway
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-789
Reviewed
2026-07-16

Affected packages

• Go github.com/envoyproxy/gateway: >= 1.8.0-rc.0, < 1.8.1 → fixed in 1.8.1 • Go github.com/envoyproxy/gateway: < 1.7.4 → fixed in 1.7.4

Description

Vulnerability report without repro case. Repro case may be added later after harness is complete. Preconditions (4): • Tenant can create EnvoyExtensionPolicy (baseline) • Attacker hosts a gzip-bomb at a reachable URL • sha256 unset (optional field; check is post-decompression anyway) • No operator Wasm-URL allowlist (none exists in code) Description getFileFromGZ calls io.ReadAll on a raw gzip.Reader (httpfetcher.go:216) with no output bound, while the compressed input is capped at 256 MiB (httpfetcher.go:139). The bytes originate from a tenant-controlled EnvoyExtensionPolicy.spec.wasm[].code.http.url (envoyextensionpolicy.go:1077 → cache.go:248 → httpfetcher.go:147 → :233), so an untrusted tenant can point at a ~10 MiB gzip-of-zeros and force ~10 GiB allocation in the shared controller process. All candidate guards execute either before the body is buffered or after decompression. OOM-kills, restarts, re-reconciles same CR, crash-loops — persistent cross-tenant control-plane outage with PR:L/AC:L and scope change → HIGH despite availability-only.

Related

Alias · CVE (1)

  • CVE-2026-53716 Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway. vulnerability

Weakness · CWE (1)

  • CWE-789 Memory Allocation with Excessive Size Value weakness

References