CVE-2026-48854
Unbounded request body accumulation causes memory exhaustion in elixir-grpc/grpc
Vulnerability description
Allocation of Resources Without Limits or Throttling vulnerability in elixir-grpc grpc allows unauthenticated attackers to exhaust the BEAM's memory and crash the server by streaming a large or slow-trickle unary request body.
'Elixir.GRPC.Server.Adapters.Cowboy.Handler':read_full_body/3 (lib/grpc/server/adapters/cowboy/handler.ex) accumulates every received chunk into a single growing binary with no size cap. Additionally, when the client omits the grpc-timeout header, the per-chunk read timeout resolves to :infinity, allowing a slow-trickle client to keep the connection alive indefinitely while memory grows. A single connection is sufficient to exhaust server memory and crash the node.
This issue affects grpc from 0.3.1 before 1.0.0.
Affected
pkg:hex/grpc
| Module | Source File | Routine |
|---|---|---|
GRPC.Server.Adapters.Cowboy.Handler
|
lib/grpc/server/adapters/cowboy/handler.ex
|
GRPC.Server.Adapters.Cowboy.Handler.read_full_body/3
|
pkg:github/elixir-grpc/grpc
| Module | Source File | Routine |
|---|---|---|
GRPC.Server.Adapters.Cowboy.Handler
|
lib/grpc/server/adapters/cowboy/handler.ex
|
GRPC.Server.Adapters.Cowboy.Handler.read_full_body/3
|
| Status | Type | Version | Changes / Fixed in |
|---|---|---|---|
| affected | git ⓘ | d1abe70a6c
|
< 49e18c3ec6
|
References
- https://github.com/elixir-grpc/grpc/security/advisories/GHSA-q8gf-9rvj-gmgj vendor-advisory related
- https://osv.dev/vulnerability/EEF-CVE-2026-48854 related
- https://github.com/elixir-grpc/grpc/commit/49e18c3ec6bb9afe2f712caad3dbab5c56a68a00 patch
Credits
- Finder: Peter Ullrich
- Remediation developer: Paulo Valente
- Analyst: Jonatan Männchen
CVE record as JSON:
GET /cves/CVE-2026-48854.json
OSV record as JSON:
GET /osv/EEF-CVE-2026-48854.json