CVE-2026-48853 PUBLISHED

Remote code execution and denial of service via unsafe Erlang term deserialization in elixir-grpc/grpc

Assigner: EEF
Reserved: 25.05.2026 Published: 15.06.2026 Updated: 16.06.2026

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.

Metrics

CVSS Vector: 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
CVSS Score: 9.2

Product Status

Vendor elixir-grpc
Product grpc
Versions Default: unaffected
  • affected from 0.4.0 to 1.0.0 (excl.)
Vendor elixir-grpc
Product grpc
Versions Default: unaffected
  • affected from 25bcc569fe2cc4478531a6c546c923205fc751c9 to 272a97a5ea1b46af1819f14a831fcf35fc91f992 (excl.)

Affected Configurations

GRPC.Codec.Erlpack must be explicitly registered as a codec on the gRPC server.

Credits

  • Peter Ullrich finder
  • Paulo Valente remediation developer
  • Jonatan Männchen analyst

References

Problem Types

  • CWE-502 Deserialization of Untrusted Data CWE
  • CWE-770 Allocation of Resources Without Limits or Throttling CWE

Impacts

  • CAPEC-586 Object Injection
  • CAPEC-231 Oversized Serialized Data Payloads