Envoy Gateway: OCI layer extraction allocates make([]byte, h.Size) from untrusted tar header
Description
Vulnerability report without repro case. Repro case may be added later after harness is complete.
Preconditions (4): - Tenant can create EnvoyExtensionPolicy (baseline) - Controller has egress to attacker-controlled OCI registry - No registry allowlist (none exists in code) - Layer presents Docker/OCI media type
Description
At imagefetcher.go:287, make([]byte, h.Size) uses the attacker-controlled tar-header size; the LimitReader at :278 bounds bytes read from the stream but not the header-declared size returned by tr.Next() (a 512-byte header can claim a multi-TB entry via PAX/GNU encoding). Reached from untrusted tenant input via EnvoyExtensionPolicy spec.wasm[].code.image.url (envoyextensionpolicy.go:1157 → cache.go:262/299 → imagefetcher.go:218 → :287), and the allocation happens for every tar entry regardless of filename. The resulting Go runtime OOM throw is unrecoverable and, because the CRD persists, crash-loops the shared controller — single-request, non-volumetric, cluster-wide DoS.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/envoyproxy/gatewayGo | >= 1.8.0-rc.0, < 1.8.1 | 1.8.1 |
github.com/envoyproxy/gatewayGo | < 1.7.4 | 1.7.4 |
Affected products
35- osv-coords34 versionspkg:apk/chainguard/datadog-cluster-agent-7.73pkg:apk/chainguard/datadog-cluster-agent-7.74pkg:apk/chainguard/datadog-cluster-agent-7.76pkg:apk/chainguard/datadog-cluster-agent-7.77pkg:apk/chainguard/datadog-cluster-agent-7.78pkg:apk/chainguard/datadog-cluster-agent-7.79pkg:apk/chainguard/datadog-cluster-agent-7.80pkg:apk/chainguard/datadog-cluster-agent-fips-7.73pkg:apk/chainguard/datadog-cluster-agent-fips-7.74pkg:apk/chainguard/datadog-cluster-agent-fips-7.76pkg:apk/chainguard/datadog-cluster-agent-fips-7.77pkg:apk/chainguard/datadog-cluster-agent-fips-7.78pkg:apk/chainguard/datadog-cluster-agent-fips-7.79pkg:apk/chainguard/datadog-cluster-agent-fips-7.80pkg:apk/chainguard/gitlab-operatorpkg:apk/chainguard/gitlab-operator-fipspkg:apk/chainguard/tigera-operator-1.38pkg:apk/chainguard/tigera-operator-1.40pkg:apk/chainguard/tigera-operator-1.41pkg:apk/chainguard/tigera-operator-1.42pkg:apk/chainguard/tigera-operator-fips-1.38pkg:apk/chainguard/tigera-operator-fips-1.40pkg:apk/chainguard/tigera-operator-fips-1.41pkg:apk/chainguard/tigera-operator-fips-1.42pkg:apk/wolfi/datadog-cluster-agent-7.73pkg:apk/wolfi/datadog-cluster-agent-7.74pkg:apk/wolfi/datadog-cluster-agent-7.76pkg:apk/wolfi/datadog-cluster-agent-7.77pkg:apk/wolfi/datadog-cluster-agent-7.78pkg:apk/wolfi/datadog-cluster-agent-7.79pkg:apk/wolfi/datadog-cluster-agent-7.80pkg:apk/wolfi/tigera-operator-1.40pkg:apk/wolfi/tigera-operator-1.41pkg:apk/wolfi/tigera-operator-1.42
< 7.73.3-r23+ 33 more
- (no CPE)range: < 7.73.3-r23
- (no CPE)range: < 7.74.1-r24
- (no CPE)range: < 7.76.3-r32
- (no CPE)range: < 7.77.3-r23
- (no CPE)range: < 7.78.4-r16
- (no CPE)range: < 7.79.2-r15
- (no CPE)range: < 7.80.4-r7
- (no CPE)range: < 7.73.3-r26
- (no CPE)range: < 7.74.1-r26
- (no CPE)range: < 7.76.3-r32
- (no CPE)range: < 7.77.3-r29
- (no CPE)range: < 7.78.4-r14
- (no CPE)range: < 7.79.2-r8
- (no CPE)range: < 7.80.4-r5
- (no CPE)range: < 3.1.2-r1
- (no CPE)range: < 3.2.0-r0
- (no CPE)range: < 0
- (no CPE)range: < 1.40.13-r4
- (no CPE)range: < 0
- (no CPE)range: < 1.42.4-r2
- (no CPE)range: < 0
- (no CPE)range: < 1.40.13-r5
- (no CPE)range: < 0
- (no CPE)range: < 1.42.4-r4
- (no CPE)range: < 7.73.3-r23
- (no CPE)range: < 7.74.1-r24
- (no CPE)range: < 7.76.3-r32
- (no CPE)range: < 7.77.3-r23
- (no CPE)range: < 7.78.4-r16
- (no CPE)range: < 7.79.2-r15
- (no CPE)range: < 7.80.4-r7
- (no CPE)range: < 1.40.13-r4
- (no CPE)range: < 0
- (no CPE)range: < 1.42.4-r2
Patches
Vulnerability mechanics
References
2News mentions
0No linked articles in our index yet.