{"id":"CVE-2026-53717","aliases":["GO-2026-6008"],"url":"https://o3.security/vulnerability/CVE-2026-53717","summary":"Envoy Gateway: OCI layer extraction allocates make([]byte, h.Size) from untrusted tar header","details":"Vulnerability report without repro case. Repro case may be added later after harness is complete.\n\n**Preconditions (4):**\n- Tenant can create EnvoyExtensionPolicy (baseline)\n- Controller has egress to attacker-controlled OCI registry\n- No registry allowlist (none exists in code)\n- Layer presents Docker/OCI media type\n\n**Description**\n\nAt 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.","published":"2026-07-16T19:20:05Z","modified":"2026-07-21T19:19:02.471124253Z","cvss":{"score":6.5,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Go","name":"github.com/envoyproxy/gateway","fixedVersion":"1.8.1"},{"ecosystem":"Go","name":"github.com/envoyproxy/gateway","fixedVersion":"1.7.4"}],"fix":null,"references":[{"type":"WEB","url":"https://github.com/envoyproxy/gateway/security/advisories/GHSA-h7pq-86h8-rp5x"},{"type":"PACKAGE","url":"https://github.com/envoyproxy/gateway"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-07-21T19:19:02.471124253Z"}}