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.
Published: 2026-11-13
Score: 8.2 High
EPSS: n/a
KEV: No
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

Vendor Workaround

Remove GRPC.Codec.Erlpack from the server's codecs list if the codec is not needed. If the codec is needed, register a wrapper codec in its place. The wrapper implements the GRPC.Codec behaviour, returns "erlpack" from name/0, raises in decode/2 when the body starts with the bytes 131, 80 (the compressed term tag), and delegates all other calls to GRPC.Codec.Erlpack.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 13 Nov 2026 16:00:00 +0000

Type Values Removed Values Added
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.
Title Memory exhaustion via compressed Erlang terms in the elixir-grpc Erlpack codec
First Time appeared Elixir-grpc
Elixir-grpc grpc
Elixir-grpc grpc Core
Weaknesses CWE-409
CPEs cpe:2.3:a:elixir-grpc:grpc:*:*:*:*:*:*:*:*
cpe:2.3:a:elixir-grpc:grpc_core:*:*:*:*:*:*:*:*
Vendors & Products Elixir-grpc
Elixir-grpc grpc
Elixir-grpc grpc Core
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Elixir-grpc Grpc Grpc Core
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-11-13T15:48:49.871Z

Reserved: 2026-11-09T22:35:50.462Z

Link: CVE-2026-121808

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-13T16:17:36.760

Modified: 2026-11-13T16:17:36.760

Link: CVE-2026-121808

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-13T19:30:21Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)