Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-48853 – RCE / DoS via Unsafe Erlang Term Deserialization – elixir-grpc versions 0.4.0 to…

Be the first to know when new zero-days emerge:

Summary

CVE-2026-48853 is a critical-severity vulnerability (CVSS v4.0: 9.2) affecting the elixir-grpc library (Hex package grpc), an Elixir/BEAM implementation of the gRPC protocol. The flaw is an unsafe deserialization of untrusted data (CWE-502) combined with unbounded resource allocation (CWE-770) in the library’s Erlpack codec, enabling unauthenticated remote attackers to crash the entire BEAM virtual machine or achieve remote code execution on the server. Versions 0.4.0 through 0.9.x are affected; version 1.0.0 contains the fix.

Technical details

  • Root cause: GRPC.Codec.Erlpack.decode/2 (lib/grpc/codec/erlpack.ex) calls :erlang.binary_to_term/1 on the raw gRPC message body with no :safe option, no size bound, and no type guard on the decoded result.
  • Trigger condition: The attacker sends a gRPC-framed POST request to any RPC path on the server with Content-Type: application/grpc+erlpack. No authentication, session token, or valid protobuf schema is required.
  • Attack vector 1 – Denial of Service: A crafted payload encoding a large number of novel atoms is decoded by binary_to_term/1. Because BEAM atoms are never garbage-collected and the atom table is bounded (~1,048,576 entries), repeated or sufficiently large requests exhaust the table and crash the entire VM node.
  • Attack vector 2 – Remote Code Execution: Without the :safe flag, binary_to_term/1 fully reconstructs fun and external-fun terms from wire data. If the deserialized value reaches any downstream call site that invokes it (e.g., Enum.map, Task.async, or similar), the attacker’s embedded function executes inside the server process.
  • Prerequisite: The GRPC.Codec.Erlpack codec must be explicitly registered in the server’s codecs option — it is not the default codec (protobuf is). Servers using only the default protobuf codec are not affected.

Affected software

  • Package: grpc (Hex) / elixir-grpc/grpc (GitHub)
  • Vulnerable versions: 0.4.0 ≤ version < 1.0.0 (i.e., 0.4.0 through 0.9.x inclusive)
  • Fixed version: 1.0.0

Severity

CVSS v4.0 Base Score: 9.2 – Critical
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

  • Attack Vector: Network | Attack Complexity: Low | Attack Requirements: Present (erlpack codec must be enabled)
  • Privileges Required: None | User Interaction: None
  • Confidentiality / Integrity / Availability (Vulnerable System): High / High / High

Mitigation and recommended actions

  • Immediate – upgrade: Update the grpc Hex package to version 1.0.0 or later. The fix replaces the unsafe call with :erlang.binary_to_term/2 using the :safe option (preventing atom-table exhaustion) and adds a type guard that rejects decoded terms containing fun, pid, port, or reference types before they can be used downstream.
  • If immediate upgrade is not possible – workaround: Remove GRPC.Codec.Erlpack from the server’s codecs configuration. Servers that do not explicitly register the Erlpack codec cannot be reached by this attack path. Additionally, restrict network-level access to gRPC endpoints to trusted peers only, and consider placing gRPC services behind an authenticating proxy or mTLS gateway to reduce the unauthenticated attack surface.

IONIX Status

The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge