Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-48044

CVE-2026-48044: Envoyproxy Envoy DoS Vulnerability

CVE-2026-48044 is a denial of service vulnerability in Envoyproxy Envoy's zstd decompressor that allows attackers to cause memory exhaustion and crash the proxy. This article covers technical details, affected versions, and mitigations.

Published:

CVE-2026-48044 Overview

CVE-2026-48044 is a denial-of-service vulnerability in the Envoy proxy's zstd decompressor implementation (ZstdDecompressorImpl). The flaw affects Envoy versions from 1.23.0 through 1.35.10, 1.36.6, 1.37.2, and 1.38.0. When zstd decompression is enabled, a specially crafted, highly compressed zstd payload triggers unbounded memory allocation during decompression. An unauthenticated remote attacker can exploit this to cause memory exhaustion, resulting in an Out-Of-Memory (OOM) kill of the Envoy process. The issue is tracked as [CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)].

Critical Impact

Remote unauthenticated attackers can trigger OOM conditions and cause denial of service against Envoy proxies handling zstd-compressed traffic.

Affected Products

  • Envoy 1.23.0 through 1.35.10
  • Envoy 1.36.0 through 1.36.6
  • Envoy 1.37.0 through 1.37.2 and 1.38.0

Discovery Timeline

  • 2026-06-26 - CVE-2026-48044 published to NVD
  • 2026-06-29 - Last updated in NVD database

Technical Details for CVE-2026-48044

Vulnerability Analysis

The vulnerability resides in Envoy's ZstdDecompressorImpl, the component responsible for decoding zstd-compressed request or response payloads. Zstandard supports very high compression ratios, allowing a small input to expand into gigabytes of output. Envoy's decompressor does not enforce sufficient bounds on the intermediate or output buffer size when processing an attacker-controlled payload.

An adversary who can send zstd-encoded traffic to an Envoy listener or upstream connection can craft a compression bomb. When Envoy decompresses this payload, memory usage grows rapidly until the process exceeds cgroup or system limits. The kernel then terminates the Envoy worker, disrupting all traffic served by that instance.

Envoy typically runs as the ingress or service mesh proxy for many workloads. A successful OOM kill therefore cascades into service-wide unavailability rather than affecting a single tenant.

Root Cause

The root cause is missing validation of decompressed data size within ZstdDecompressorImpl. The decompressor allocates output buffers based on the zstd frame's requested size without bounding it against a configured maximum. Highly compressed payloads exploit this to force allocations that far exceed the original request body size.

Attack Vector

Exploitation requires the target Envoy configuration to have zstd decompression enabled on a filter chain. The attacker sends an HTTP request or response containing a Content-Encoding: zstd payload crafted for maximum amplification. No authentication or user interaction is required. The attack vector is network-based with low complexity.

Because zstd decompression is opt-in, only deployments explicitly enabling the envoy.filters.http.decompressor or envoy.compression.zstd.decompressor filter are exposed.

Detection Methods for CVE-2026-48044

Indicators of Compromise

  • Envoy worker processes terminated by the Linux OOM killer, visible in dmesg or /var/log/messages entries referencing envoy and Out of memory.
  • Sudden spikes in Envoy's server.memory_allocated and server.memory_heap_size metrics correlated with inbound Content-Encoding: zstd traffic.
  • Container restarts or Kubernetes pod evictions with reason OOMKilled for Envoy or Istio proxy sidecars.

Detection Strategies

  • Inspect Envoy access logs for requests carrying Content-Encoding: zstd from untrusted sources and correlate against memory or restart events.
  • Alert on rapid growth of the zstd_decompressor stats counters (zstd.decompressed_bytes, zstd.compressed_bytes) with anomalous ratios.
  • Baseline Envoy resident set size and trigger alerts when memory usage exceeds normal operating ranges within short time windows.

Monitoring Recommendations

  • Ship Envoy admin /stats and Prometheus metrics into a centralized SIEM or data lake for longitudinal analysis.
  • Monitor kernel logs and container orchestrator events for OOMKilled states affecting proxy workloads.
  • Track the ratio of compressed input bytes to decompressed output bytes and flag amplification factors above expected thresholds.

How to Mitigate CVE-2026-48044

Immediate Actions Required

  • Upgrade Envoy to 1.35.11, 1.36.7, 1.37.3, or 1.38.1 depending on your deployed release branch.
  • If patching is not immediately possible, disable zstd decompression filters until the upgrade is complete.
  • Restrict which upstreams and downstreams are permitted to negotiate Content-Encoding: zstd at the perimeter.

Patch Information

Fixes are available in Envoy versions 1.35.11, 1.36.7, 1.37.3, and 1.38.1. Details are published in the Envoy GitHub Security Advisory GHSA-m3p9-47wh-88wg. Service mesh users running Istio, Consul, or other Envoy-based control planes should apply their vendor's corresponding data plane update.

Workarounds

  • Remove or disable the zstd decompressor filter (envoy.compression.zstd.decompressor) from HTTP filter chains.
  • Enforce request body size limits using the envoy.filters.http.buffer filter to cap payloads before decompression.
  • Strip Content-Encoding: zstd headers at an upstream WAF or edge proxy that is not vulnerable.
bash
# Configuration example: disable zstd decompression in an HTTP connection manager
# Remove any filter of type envoy.filters.http.decompressor configured with zstd
# Example of a safer decompressor configuration limited to gzip only:
#
# http_filters:
#   - name: envoy.filters.http.decompressor
#     typed_config:
#       "@type": type.googleapis.com/envoy.extensions.filters.http.decompressor.v3.Decompressor
#       decompressor_library:
#         name: gzip
#         typed_config:
#           "@type": type.googleapis.com/envoy.extensions.compression.gzip.decompressor.v3.Gzip

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.