Skip to main content

Envoy Proxy CVE-2026-73550

| EUVDEUVD-2026-84111 HIGH
Memory Leak (CWE-401)
2026-09-21 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open HTTP/2 connection to Envoy
  2. Delivery
    Send request with :authority plus large Host header
  3. Exploit
    HPACK-index Host value across many streams
  4. Execution
    Discarded Host bypasses header-limit accounting
  5. Persist
    Header-copy allocation exhausts memory
  6. Impact
    Proxy OOM-killed, traffic denied

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup, leak prevention
Exploitation Conditions

Exploitable against an Envoy listener with an HTTP/2 downstream codec enabled (a very common configuration for edge/front proxies) - no authentication, user interaction, or special filter is required. The specific trigger is an HTTP/2 request that supplies a Host header while :authority is already present, so Envoy discards the Host value via the onHeader early-return path (returning 0 before saveHeader); the attacker then amplifies impact using HPACK dynamic-table indexing to reference a large discarded Host value across a bounded number of streams. The regression test parameterizes across both the nghttp2 and oghttp2 implementations, indicating the flaw is not limited to a non-default codec. Limiting factors: the target must terminate HTTP/2 from the attacker, and realized impact depends on the process memory ceiling and restart/orchestration policy; the fix is behind runtime guard envoy.reloadable_features.http2_track_size_of_dropped_host_header (default-on after patch).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) accurately characterizes this as a network-reachable, unauthenticated, low-complexity availability-only flaw with no confidentiality or integrity impact - it is a denial-of-service (OOM kill), not the 'Authentication Bypass' its tag suggests. No EPSS score, no CISA KEV listing, and no public exploit are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis'; however, the fix commit ships a codec-level unit test (HeaderListSizeTooLargeWithDiscardedHostHeader / TooManyHeadersWithDiscardedHostHeader) that demonstrates the amplification mechanics precisely, which meaningfully lowers the bar to weaponization. This is a genuine priority rather than a paper-high CVSS: the vulnerable code path is the default downstream HTTP/2 codec (the test exercises both nghttp2 and oghttp2 implementations), it requires no special filter or non-default feature - unlike the sibling ext_authz CVEs - and Envoy's role as a front proxy means an OOM kill takes down a shared traffic chokepoint. CWE-401 (missing memory release) is an imperfect label; the true weakness is uncontrolled resource consumption / allocation amplification (CWE-770), where a bounded number of streams inflates memory via HPACK indexing of a large discarded Host value. No signals conflict; the main caveat is that real-world blast radius depends on per-process memory limits and orchestration restart behavior.

Exploit ScenarioDerived

An unauthenticated attacker opens an HTTP/2 connection to an Envoy front/edge proxy and sends requests carrying both an :authority pseudo-header and a large duplicate Host header, then uses HPACK dynamic-table indexing to reference that large Host value many times across a bounded set of streams. Because the discarded Host bytes and count are never charged against max_request_headers_kb/max_request_headers_count, Envoy performs extreme header-copy allocation and is out-of-memory killed, dropping all proxied traffic. No public exploit is published, but the vendor's regression tests concretely demonstrate the triggering conditions.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.9% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

Unauthenticated remote attackers can exhaust memory and trigger an out-of-memory kill of Envoy Proxy by sending HTTP/2 requests that include a large Host header alongside an existing :authority pseudo-header, since the discarded Host value is copied but never charged against header size or count limits, and HPACK dynamic-table indexing lets an attacker repeatedly reference that large value across a bounded number of streams. All Envoy releases before 1.36.10, 1.37.6, 1.38.4, and 1.39.1 are affected, including both the nghttp2 and oghttp2 HTTP/2 codec implementations, and the flaw is reachable on any listener that terminates HTTP/2 with no authentication or user interaction required (CVSS 3.1 base 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-401). No public exploit code and no confirmed active exploitation have been identified at time of analysis, but the low complexity and lack of prerequisites make this a practical availability risk for internet-facing edge proxies; note the supplied "Authentication Bypass" tag is misleading - the impact is availability-only, with no confidentiality or integrity loss.

RemediationAI

Vendor-released patch: upgrade to Envoy 1.36.10, 1.37.6, 1.38.4, or 1.39.1 on the corresponding release line - there is no partial fix, so any older build on the 1.36-1.39 trains must be moved to those exact versions; the upstream commits (0910997f70e91d2d20c329bb507bfce44ce01f80, 1fec994c868df008cdd4ae285aab58a196fd31f2, 3fd0ffee7ac87adf3bc6e421656bb96310512300, fc75d8e35b0d11acbae18b63a0bd96e32e84f61b) and the advisory at https://github.com/envoyproxy/envoy/security/advisories/GHSA-qgf6-qvhw-4hvh detail the change. The patch enables a new runtime guard, envoy.reloadable_features.http2_track_size_of_dropped_host_header, which defaults to on; operators must not set it to false, because doing so restores the vulnerable untracked behavior even on a patched build (the guard exists only as a temporary behavioral-revert escape hatch). If an immediate upgrade is not possible, apply compensating controls with their known trade-offs: terminate HTTP/2 at a trusted, resource-bounded fronting tier and force HTTP/1.1 on the Envoy listener (costs multiplexing efficiency and changes client behavior), restrict reachability of the HTTP/2 listener to known clients via network policy or mTLS (does not help for public edge exposure), and cap blast radius with tight per-listener concurrency limits plus an Envoy Overload Manager configured to shed load, combined with hard container memory limits and monitoring/alerting on OOM kills and on the http2.header_list_size_too_large and decompressed-header-bytes counters (the last counter is only populated by the patched code, so unpatched instances cannot use it for detection). Lowering max_request_headers_kb or max_request_headers_count is not an effective workaround, since the vulnerability is precisely that the discarded Host header bypasses those limits; note also that no public exploit code has been identified, so these measures are precautionary rather than incident-response driven.

Affected VersionsENISA

envoy 1.37.0, < 1.37.6
envoy < 1.36.10
envoy 1.38.0, < 1.38.4
envoy 1.39.0, < 1.39.1

Affected Packages

euvd envoy fix: 1.36.10, 1.37.6, 1.38.4, 1.39.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The defect lives in Envoy's HTTP/2 connection implementation (source/common/http/http2/codec_impl.cc), specifically in the header-decoding path used by ServerConnectionImpl::onHeader. When an HTTP/2 request carries both a Host header field and an :authority pseudo-header, Envoy's RFC 7540 conformance behavior is to drop the redundant Host value. Before the fix, that code path returned 0 immediately, before the HeaderString was handed to saveHeader(), which is the function that enforces the configured received-header-map limits (byteSize()/size() plus the cookie accumulation). Because the discarded Host bytes and the header count were never added to the tracked totals, the header-map size and count limits - the core defense against decompression/allocation amplification in HTTP/2 - were silently bypassed for that field. The root cause maps to CWE-401 (Missing Release of Memory after Effective Lifetime), i.e. a resource-accounting failure where memory that should have been charged and subsequently reclaimed is instead allocated outside any enforced budget. HPACK compounding is what makes this severe: HPACK's dynamic table lets a client index a previously transmitted large Host value by a single small index, so each additional stream reference is cheap on the wire but still forces Envoy to materialize and copy the full header value. A modest number of concurrent streams can therefore drive allocation far beyond the configured header budget, terminating the process via the OOM killer. The CPE cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* confirms the affected product family is Envoy itself rather than a downstream distribution, and the upstream regression tests (HeaderListSizeTooLargeWithDiscardedHostHeader and TooManyHeadersWithDiscardedHostHeader) are parameterized across both nghttp2 and oghttp2, demonstrating the flaw is not confined to a single non-default codec. The fix introduces per-stream discarded_host_header_size_ and discarded_host_header_count_ counters, folds them into a refactored checkHeaderLimits() used at header-complete and metadata-frame time, and meters the dropped bytes via addDecompressedHeaderBytesReceived so the traffic is visible in statistics.

Know when Envoy gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated HTTP/2 request over the network with no user interaction (AV:N/AC:L/PR:N/UI:N); impact is memory-exhaustion process crash only, so C:N/I:N/A:H, scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 21, 2026 - 21:17 EUVD
CVE Published
Sep 21, 2026 - 19:49 cve.org
HIGH 7.5

DescriptionCVE.org

Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy copies every decoded HTTP/2 Host header value before discarding it when :authority is already present. The discarded value bypasses saveHeader, so its bytes and count are not charged against request header limits. An unauthenticated client can use HPACK indexing to submit many references to a large Host value across a bounded number of streams, forcing extreme header-copy allocation and causing the proxy to be out-of-memory killed. The relevant scope boundary is that the demonstrated amplification uses HTTP/2 HPACK and the duplicate Host discard behavior. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.

Technical POC Analysis

CWE-401 (missing release of memory after effective lifetime), as assigned by the advisory.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Envoy Proxy, the edge proxy and API gateway fronting many of our internet-facing services, can be forced into an out-of-memory crash by unauthenticated requests, and because it sits directly in the request path a single failing listener translates into outage for every application behind it. No vendor-released patch is available and there is no public exploit identified at time of analysis, but the flaw requires no credentials, no user interaction, and no special conditions, so our realistic exposure is unplanned downtime rather than data loss. Leadership should treat this as a service-availability risk to be contained through exposure reduction and resilience measures until a fix ships.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable HTTP/2 on internet-facing listeners where feasible and fall back to HTTP/1.1; for listeners that must retain HTTP/2, cap max concurrent streams and HPACK dynamic table size to bound the reference amplification; front the proxy with upstream L7/DDoS filtering and rate limiting; run Envoy under container memory limits with multi-replica, multi-zone capacity able to absorb a single instance OOM-kill; and monitor proxy memory growth and restart/OOM events.

Threat Intelligence Overview

EPSS Score
0.9%
Top 42% exploitable
Prevalence
High
Envoy is a ubiquitous CNCF edge/service-mesh proxy (Istio), broadly deployed
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.9%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Envoy

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2023-27488 CRITICAL POC
9.8 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.8

CVE-2019-18802 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2019-18801 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2023-27493 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27491 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27487 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2020-25017 HIGH POC
8.3 Oct 01

Envoy through 1.15.0 only considers the first value when multiple header values are present for some HTTP headers. Rated

CVE-2019-9900 HIGH POC
8.3 Apr 25

When parsing HTTP/1.x header values, Envoy 1.9.0 and before does not reject embedded zero characters (NUL, ASCII 0x0). R

CVE-2026-26308 HIGH POC
7.5 Mar 10

Envoy's RBAC filter improperly concatenates duplicate HTTP headers into comma-separated strings instead of validating ea

CVE-2024-53270 HIGH POC
7.5 Dec 18

Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i

CVE-2024-53269 HIGH POC
7.5 Dec 18

Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed

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