Skip to content
OpenAdvisories
High · 8.2 CVE-2026-121808 EEF-CVE-2026-121808EUVD-2026-125529GHSA-xxp9-7hp4-rqwp

Memory exhaustion via compressed Erlang terms in the elixir-grpc Erlpack codec

Published Nov 13, 2026 · Assigned by EEF

Description

Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in elixir-grpc grpc_core and grpc allows unauthenticated attackers to exhaust server memory via a compressed Erlang external term in a gRPC message body.

GRPC.Codec.Erlpack.decode/2 (grpc_core/lib/grpc/codec/erlpack.ex, and lib/grpc/codec/erlpack.ex before the package split) passes the message body to :erlang.binary_to_term/2. That function inflates a compressed term in full before it returns. The codec sets no limit on the decoded size, and its type checks run only on the decoded term. The server's max_body_size limit counts the compressed bytes of the request. A request with Content-Type: application/grpc+erlpack can therefore make the server allocate a term much larger than the request body.

This issue affects grpc: from 0.4.0 before 1.0.0; grpc_core: from 1.0.0 before 1.1.0.

Affected products

VendorProductAffectedFixed
elixir-grpc grpc 0.4.0 – < 1.0.0 1.0.0
elixir-grpc grpc_core 1.0.0 – < 1.1.0 1.1.0

Affected packages

EcosystemPackageAffectedFixedRecord
Hex grpc >= 0.4.0, < 1.0.0 1.0.0 EEF-CVE-2026-121808
Hex grpc_core >= 1.0.0, < 1.1.0 1.1.0 EEF-CVE-2026-121808

References