Skip to content
OpenAdvisories
Medium · 6.9 CVE-2026-119434 EEF-CVE-2026-119434EUVD-2026-117783GHSA-p9j8-93gx-5h3x

Decompression bomb in ezstd:decompress_using_ddict/2 allows BEAM memory exhaustion via unbounded output buffer

Published Nov 5, 2026 · Updated Nov 5, 2026 · Assigned by EEF

Description

Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in silviucpp ezstd allows an attacker who supplies a zstd frame to ezstd:decompress_using_ddict/2 to exhaust memory and terminate the Erlang VM via a small frame that declares a very large content size.

zstd_nif_decompress_using_ddict in c_src/ezstd_nif.cc reads the frame's declared content size with ZSTD_getFrameContentSize and passes it directly to enif_make_new_binary, without the 1 GiB MAX_BUFFER_SIZE check that ezstd:decompress/1 applies before allocating. A valid 65,550-byte frame of RLE blocks declaring 2 GiB is rejected by ezstd:decompress/1 but is fully allocated and decompressed by the dictionary path. The allocation happens inside a NIF, so when it exceeds the memory available to the VM the operating system kills the whole node rather than the calling process.

This issue affects ezstd: from 1.0.5 before 1.2.5.

Affected products

VendorProductAffectedFixed
silviucpp ezstd 1.0.5 – < 1.2.5 1.2.5
silviucpp ezstd — —

Affected packages

EcosystemPackageAffectedFixedRecord
Hex ezstd >= 1.0.5, < 1.2.5 1.2.5 EEF-CVE-2026-119434

References