cve.bz

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

8.2 highFix available

High (8.2) in elixir-grpc. Fixed in grpc 1.0.0.

On this page
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.

Severity

CVSS 4.0

8.2 high
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
CWE
CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)
Published
Assigned by
EEF (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-121808 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-121808?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-121808?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-121808 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-121808

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-121808](https://cve.bz/cve/badge/CVE-2026-121808.svg)](https://cve.bz/cve/CVE-2026-121808)

HTML:

<a href="https://cve.bz/cve/CVE-2026-121808"><img src="https://cve.bz/cve/badge/CVE-2026-121808.svg" alt="CVE-2026-121808"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
elixir-grpc grpcfrom 0.4.0 before 1.0.0
elixir-grpc grpc_corefrom 1.0.0 before 1.1.0

Fix and patched versions

  • grpc (Hex): fixed in 1.0.0
  • grpc_core (Hex): fixed in 1.1.0

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
EEF-CVE-2026-121808Hexgrpc>=0.4.0 <1.0.01.0.0
EEF-CVE-2026-121808Hexgrpc_core>=1.0.0 <1.1.01.1.0
EEF-CVE-2026-121808no fix published
EEF-CVE-2026-121808v1.0.6, v1.0.3, v1.0.0no fix published

References

Check your stackJSON