CVE-2026-53430

Published: June 15th, 2026
Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in elixir-grpc grpc (GRPC.Compressor.Gzip, GRPC.Message modules) allows a denial of service via a gzip decompression bomb. This vulnerability is associated with program files lib/grpc/compressor/gzip.ex, lib/grpc/message.ex and program routines 'Elixir.GRPC.Compressor.Gzip':decompress/1, 'Elixir.GRPC.Message':from_data/2. 'Elixir.GRPC.Compressor.Gzip':decompress/1 calls :zlib.gunzip/1 directly on attacker-controlled bytes with no decompressed-size limit, ratio check, or incremental decoding. Because this module is the registered gzip GRPC.Compressor implementation, it is invoked automatically whenever an incoming gRPC frame carries the grpc-encoding: gzip header. :zlib.gunzip/1 allocates the entire decompressed result as a single binary, so a small highly compressible payload (for example a few kilobytes of zeros, which gzip compresses at roughly 1000:1) expands to multiple gigabytes inside a single call. The max_receive_message_length limit is enforced only against the already-decompressed message, so it provides no protection. An unauthenticated remote peer can send a single crafted frame to exhaust the BEAM node's heap and trigger an out-of-memory kill. This issue affects grpc: from 0.4.0 before 1.0.0.
Unknown
CVSS v2:

Status

DocFilters Release Package State Justification Comment
26.3 zlib (1.3) False Positive Code Not Present CVE-2026-53430 is a decompression-bomb denial-of-service (CWE-409) vulnerability in elixir-grpc’s ‘grpc’ package, an Elixir/Erlang library distributed via the Hex package manager and classified under the Erlang ecosystem. The flaw is in GRPC.Compressor.Gzip.decompress/1 (lib/grpc/compressor/gzip.ex), which calls the Erlang :zlib.gunzip/1 BIF on attacker-controlled gRPC frame bytes with no size or ratio limit, allocating the full decompressed output as one binary and exhausting the BEAM VM heap. The CVE was flagged against Document Filters because the scanner associated it with our external/zlib-1.3 dependency, but the vulnerability has nothing to do with the C zlib library. Document Filters is a C++ SDK with .NET/Python/Java bindings; it does not use Elixir, Erlang, the BEAM runtime, the Hex ‘grpc’ package, or the Erlang :zlib module. The vulnerable GRPC.Compressor.Gzip.decompress/1 function is not present in this codebase in any form.
26.2 zlib (1.3) Needs Triage
26.1 zlib (1.3) Needs Triage
25.4 zlib (1.3) Needs Triage
25.3 zlib (1.3) Needs Triage
25.2 zlib (1.3) Needs Triage
25.1 zlib (1.3) Needs Triage
24.4 zlib (1.3) Needs Triage
24.4.0 zlib (1.3) Needs Triage
24.3 zlib (1.3) Needs Triage
24.2 zlib (1.3) Needs Triage
24.1 zlib (1.3) Needs Triage
23.3 zlib (1.3) Needs Triage
23.2 zlib (1.2.12) Needs Triage
23.1 zlib (1.2.12) Needs Triage
22.4 zlib (1.2.12) Needs Triage
22.3 zlib (1.2.12) Needs Triage
22.2 zlib (1.2.12) Needs Triage
22.1 zlib (1.2.11) Needs Triage
21.11 zlib (1.2.11) Needs Triage
21.8 zlib (1.2.11) Needs Triage
21.5.0 zlib (1.2.11) Needs Triage
21.2.0 zlib (1.2.11) Needs Triage
11.4.19.3667 zlib (1.2.11) Needs Triage
11.4.18.3599 zlib (1.2.11) Needs Triage
11.4.16.3445 zlib (1.2.11) Needs Triage
11.4.15.3368 zlib (1.2.11) Needs Triage
11.4.14.3263 zlib (1.2.11) Needs Triage
11.4.13.3179 zlib (1.2.11) Needs Triage
11.4.12.3054 zlib (1.2.11) Needs Triage
11.4.11.3040 zlib (1.2.11) Needs Triage
11.4.11.2990 zlib (1.2.11) Needs Triage
11.4.10.2934 zlib (1.2.11) Needs Triage
11.4.9.2878 zlib (1.2.11) Needs Triage
11.4.8.2822 zlib (1.2.11) Needs Triage

Severity score breakdown

References