CRITICAL🇬🇧 English

CVE-2026-48853

RCE i crash VM przez niebezpieczną deserializację w elixir-grpc

CVSS 9.2v4.0pub. 2026-06-15upd. 2026-06-16

Biblioteka elixir-grpc deserializuje dane gRPC z użyciem niebezpiecznej funkcji :erlang.binary_to_term/1 bez opcji :safe, co pozwala nieuwierzytelnionemu atakującemu na zdalne wykonanie kodu lub crash serwera. Podatność jest krytyczna, ponieważ nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Funkcja 'Elixir.GRPC.Codec.Erlpack':decode/2 wywołuje :erlang.binary_to_term/1 na surowej treści wiadomości gRPC bez opcji :safe, bez ograniczenia rozmiaru danych i bez weryfikacji typów. Dowolny klient wysyłający żądanie z nagłówkiem Content-Type: application/grpc+erlpack może dostarczyć spreparowany payload. Taki payload może tworzyć dowolne nowe atomy w maszynie wirtualnej BEAM — atomy nie są odśmiecane (garbage-collected), przez co ograniczona tabela atomów ulega wyczerpaniu i VM ulega crashowi (CWE-770). Jeśli natomiast payload zakoduje term typu fun i zostanie on wywołany gdziekolwiek dalej w kodzie serwera, dochodzi do zdalnego wykonania kodu (RCE) kontrolowanego przez atakującego (CWE-502).

Skutki

Atakujący może spowodować crash całego węzła BEAM (denial of service przez wyczerpanie tabeli atomów) lub, w przypadku gdy zdekodowany term trafi do miejsca jego wywołania, wykonać dowolny kod po stronie serwera z uprawnieniami procesu serwerowego.

Mitygacja

Należy zaktualizować bibliotekę elixir-grpc do wersji 1.0.0 lub nowszej. Patch dostępny jest w repozytorium projektu (commit 272a97a5ea1b46af1819f14a831fcf35fc91f992). Producent zaleca również weryfikację, czy w środowisku używany jest koder erlpack — jeśli nie jest wymagany, należy go wyłączyć. Szczegóły dostępne w security advisory GHSA-grp7-v8xh-rj7h.

Kogo dotyczy

Biblioteka elixir-grpc (grpc) w wersjach od 0.4.0 do wcześniejszych niż 1.0.0.

Uwagi

Podatność dotyczy wyłącznie środowisk korzystających z kodera erlpack (Content-Type: application/grpc+erlpack). Standardowe żądania gRPC używające protobuf nie są podatne. CNA zgłaszającym jest Erlang Ecosystem Foundation (erlef).

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/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
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEAuth BypassDeserialization
CWE
Referencje