Description
Authorization Bypass Through User-Controlled Key vulnerability in elixir-grpc grpc_server and grpc allows an attacker to make a handler act on a resource other than the one named in the URL of an HTTP-transcoded route, via a request with a gRPC Content-Type.
Only the transcoding clause of GRPC.Server.do_handle_request/4 (grpc_server/lib/grpc/server.ex, and lib/grpc/server.ex before the package split) applies the route's path bindings to the request message. The Cowboy handler picks that clause from the request Content-Type, not from the route. A request to a transcoded URL with application/grpc or application/grpc-web is decoded from the body alone, so every path-bound field takes its value from the body. A gateway, proxy rule or WAF that authorizes on the URL path sees one resource while the handler receives another.
This issue affects grpc_server: from 1.0.0 before 1.1.0; grpc: from 0.8.0 before 1.0.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| elixir-grpc | grpc_server | 1.0.0 – < 1.1.0 | 1.1.0 |
| elixir-grpc | grpc | 0.8.0 – < 1.0.0 | 1.0.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | grpc | >= 0.8.0, < 1.0.0 | 1.0.0 | EEF-CVE-2026-124278 |
| Hex | grpc_server | >= 1.0.0, < 1.1.0 | 1.1.0 | EEF-CVE-2026-124278 |
References
- Path bindings ignored for gRPC Content-Types on transcoded routes in elixir-grpc grpc_server vendor-advisory related
- EEF CNA record for CVE-2026-124278 related
- OSV record EEF-CVE-2026-124278 related
- Introducing commit 0332faa in elixir-grpc/grpc related
- Fix commit 953ab98 in elixir-grpc/grpc patch
- Introducing commit 8aaf3d3 in elixir-grpc/grpc related