CVE-2026-48599
Description
Authorization Bypass Through User-Controlled Key vulnerability in elixir-grpc grpc allows authenticated attackers to access or modify resources belonging to other users by smuggling a conflicting value for any path-bound field via the query string or request body. In 'Elixir.GRPC.Server.Transcode':map_request/5 (lib/grpc/server/transcode.ex), all three clauses use Map.merge/2 with path bindings as the first argument, giving them the lowest merge precedence. A request such as GET /users/me/profile?user_id=victim (or a POST with {"user_id": "victim"} when body: "*") yields a decoded protobuf struct where the path-bound field carries the attacker-supplied value rather than the router-extracted value. Any handler that uses the path-bound field for authorization, multi-tenancy scoping, or ownership checks is silently bypassed. This issue affects grpc: from 0.8.0 before 1.0.0.
How to fix
- elixir-grpc grpc1.0.0, 33b6a095dbc91c6dee3c7b90893d7d74952e82e4 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| elixir-grpc grpc | 0.8.0 ≤ v < 1.0.0, 8aaf3d3a8c4c7b08ac65e9c6f254e0d24da1d048 ≤ v < 33b6a095dbc91c6dee3c7b90893d7d74952e82e4 | 1.0.0, 33b6a095dbc91c6dee3c7b90893d7d74952e82e4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.