CVE-2026-48853
Deferred Deferred - Pending Action

Remote Code Execution in Elixir-GRPC

Vulnerability report for CVE-2026-48853, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-15

Last updated on: 2026-06-16

Assigner: EEF

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-15
Last Modified
2026-06-16
Generated
2026-07-06
AI Q&A
2026-06-16
EPSS Evaluated
2026-07-04
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
elixir grpc From 0.4.0 (inc) to 1.0.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Compliance Impact

The vulnerability allows unauthenticated attackers to achieve remote code execution and denial-of-service attacks on the server, leading to high impact on confidentiality, integrity, and availability of the affected system.

Such impacts can compromise compliance with common standards and regulations like GDPR and HIPAA, which require protection of sensitive data and system availability.

Specifically, unauthorized remote code execution and system crashes could lead to unauthorized access or loss of protected data, violating data protection and security requirements.

Detection Guidance

This vulnerability can be detected by monitoring for unusual or malformed gRPC requests with the Content-Type header set to application/grpc+erlpack, which may indicate attempts to exploit the unsafe deserialization.

On the system side, detection involves checking for symptoms such as crashes of the BEAM node or exhaustion of the atom table, which may be caused by crafted payloads minting arbitrary atoms.

Specific commands to detect exploitation attempts are not provided in the available resources.

Mitigation Strategies

The immediate mitigation step is to upgrade the elixir-grpc/grpc library to version 1.0.0 or later, where the vulnerability has been fixed.

The fix includes using the :safe option with :erlang.binary_to_term/2 to prevent atom table exhaustion and blocking dangerous terms like functions, PIDs, ports, and references to avoid remote code execution.

Users should also ensure that the GRPC.Codec.Erlpack codec is properly updated and registered according to the patched version.

Executive Summary

This vulnerability exists in the elixir-grpc grpc library versions from 0.4.0 before 1.0.0. It involves unsafe deserialization of untrusted data and allocation of resources without limits or throttling.

Specifically, the function 'Elixir.GRPC.Codec.Erlpack':decode/2 calls :erlang.binary_to_term/1 on the raw gRPC message body without using the :safe option, without size limits, and without type checks.

An unauthenticated attacker can send a crafted gRPC request with Content-Type: application/grpc+erlpack that creates arbitrary new atoms, which are never garbage-collected, leading to exhaustion of the atom table and crashing the BEAM virtual machine.

Additionally, if the crafted payload encodes a 'fun' term that is invoked downstream, it can lead to remote code execution on the server.

Impact Analysis

This vulnerability can have severe impacts including denial of service and remote code execution.

  • Denial of Service: An attacker can exhaust the atom table by creating arbitrary atoms, causing the BEAM virtual machine to crash and making the service unavailable.
  • Remote Code Execution: If the crafted payload includes a 'fun' term that is executed downstream, the attacker can run arbitrary code on the server, potentially compromising the system.

Because the attack can be performed by an unauthenticated peer, it poses a high risk to systems using affected versions of elixir-grpc.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-48853. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart