Skip to main content

elixir-grpc CVE-2026-48853

CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-06-15 EEF
9.2
CVSS 4.0 · Vendor: EEF
Share

Severity by source

Vendor (EEF) PRIMARY
9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.1 HIGH

Network-reachable and unauthenticated, but the server must register the erlpack codec and RCE requires a downstream apply site, justifying AC:H; full C/I/A impact on the BEAM node.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat
9.8 CRITICAL
qualitative

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Source Code Evidence Fetched
Jun 15, 2026 - 22:51 vuln.today
Analysis Generated
Jun 15, 2026 - 22:51 vuln.today

DescriptionCVE.org

Deserialization of Untrusted Data and Allocation of Resources Without Limits or Throttling vulnerabilities in elixir-grpc grpc allow unauthenticated attackers to crash the BEAM node via atom table exhaustion and, when a decoded term flows into a call site that invokes it, achieve remote code execution on the server.

'Elixir.GRPC.Codec.Erlpack':decode/2 (lib/grpc/codec/erlpack.ex) calls :erlang.binary_to_term/1 on the raw gRPC message body without the :safe option, no size bound, and no type guard. Any unauthenticated peer that sends a request with Content-Type: application/grpc+erlpack can send a crafted payload that mints arbitrary new atoms (which are never garbage-collected, exhausting the bounded atom table and crashing the VM) or that encodes a fun term which, if applied anywhere downstream, executes attacker-controlled code inside the server process.

This issue affects grpc from 0.4.0 before 1.0.0.

AnalysisAI

Unsafe Erlang term deserialization in the elixir-grpc library (versions 0.4.0 through 1.0.0) allows unauthenticated remote attackers to crash the BEAM VM via atom-table exhaustion or achieve remote code execution by sending crafted gRPC payloads with Content-Type application/grpc+erlpack. The flaw lives in GRPC.Codec.Erlpack.decode/2, which calls :erlang.binary_to_term/1 without the :safe option, size bounds, or type guards. No public exploit is identified at time of analysis, but the upstream fix is published at commit 272a97a and a patched 1.0.0 release is available.

Technical ContextAI

The elixir-grpc project is an Elixir/Erlang implementation of gRPC that runs on the BEAM virtual machine. The vulnerable codec module lib/grpc/codec/erlpack.ex uses Erlang's External Term Format via :erlang.binary_to_term/1, a known-dangerous API documented by the Erlang Ecosystem Foundation (EEF) - the reporter here - as unsafe for untrusted input. Without the :safe atom, attackers can mint new atoms (BEAM's atom table is bounded, typically 1,048,576 entries, and atoms are never garbage-collected) or encode fun terms, pids, ports, and references. The root cause is CWE-502 (Deserialization of Untrusted Data), compounded by CWE-770 (Allocation of Resources Without Limits or Throttling). When a decoded fun term flows into any call site that applies it (e.g., :erlang.apply/2 or anonymous-function invocation), the attacker-controlled closure executes inside the gRPC server process.

RemediationAI

Vendor-released patch: upgrade the elixir-grpc grpc Hex dependency to 1.0.0 or later, which contains the fix landed in commit 272a97a5ea1b46af1819f14a831fcf35fc91f992 (see https://github.com/elixir-grpc/grpc/commit/272a97a5ea1b46af1819f14a831fcf35fc91f992 and the advisory at https://github.com/elixir-grpc/grpc/security/advisories/GHSA-grp7-v8xh-rj7h). If immediate upgrade is not possible, remove or unregister the Erlpack codec from your gRPC server's accepted codecs so requests with Content-Type application/grpc+erlpack are rejected - the trade-off is that any legitimate internal clients relying on the erlpack wire format will break and must move to protobuf or JSON. As a network-layer compensating control, terminate gRPC behind a reverse proxy or service mesh that strips or rejects application/grpc+erlpack content types, accepting that this requires Layer-7 inspection and may add latency. Increasing the BEAM +t atom-table limit only delays the DoS and does nothing to mitigate the RCE path, so it is not a sufficient standalone mitigation.

More in Grpc

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2017-8359 CRITICAL POC
9.8 Apr 30

Google gRPC before 2017-03-29 has an out-of-bounds write caused by a heap-based use-after-free related to the grpc_call_

CVE-2024-7246 MEDIUM POC
6.3 Aug 06

It's possible for a gRPC client communicating with a HTTP/2 proxy to poison the HPACK table between the proxy and the ba

CVE-2017-7860 CRITICAL
9.8 Apr 14

Google gRPC before 2017-02-22 has an out-of-bounds write caused by a heap-based buffer overflow related to the parse_uni

CVE-2017-7861 CRITICAL
9.8 Apr 14

Google gRPC before 2017-02-22 has an out-of-bounds write related to the gpr_free function in core/lib/support/alloc.c. R

CVE-2017-9431 CRITICAL
9.8 Jun 05

Google gRPC before 2017-04-05 has an out-of-bounds write caused by a heap-based buffer overflow related to core/lib/iomg

CVE-2020-7768 CRITICAL
9.8 Nov 11

The package grpc before 1.24.4; the package @grpc/grpc-js before 1.1.8 are vulnerable to Prototype Pollution via loadPac

CVE-2026-53430 HIGH
8.7 Jun 15

Denial of service in the elixir-grpc library (versions 0.4.0 through 0.x) allows unauthenticated remote attackers to cra

CVE-2026-48854 HIGH
8.7 Jun 15

Unauthenticated denial of service in the elixir-grpc library (versions 0.3.1 up to but not including 1.0.0) allows a sin

CVE-2026-48599 HIGH
7.6 Jun 15

Authorization bypass in elixir-grpc (grpc library for Elixir) versions 0.8.0 through 0.x allows authenticated attackers

CVE-2023-4785 HIGH
7.5 Sep 13

Lack of error handling in the TCP server in Google's gRPC starting version 1.23 on posix-compatible platforms (ex. Rated

CVE-2023-33953 HIGH
7.5 Aug 09

gRPC contains a vulnerability that allows hpack table accounting errors could lead to unwanted disconnects between clien

Vendor StatusVendor

Share

CVE-2026-48853 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy