Authorization bypass via path binding override in elixir-grpc/grpc HTTP transcoding
## Summary 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. ## Configurations HTTP-to-gRPC transcoding must be enabled.
EEF-CVE-2026-48599
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:EEF-CVE-2026-48599
grpc
Source reference: /affected/0/package/name
- Affected versions
- 0.10.0
Source reference:
/affected/0/versions0.10.1Source reference:
/affected/0/versions0.10.2Source reference:
/affected/0/versions0.11.0Source reference:
/affected/0/versions0.11.1Source reference:
/affected/0/versions0.11.2Source reference:
/affected/0/versions0.11.3Source reference:
/affected/0/versions0.11.4Source reference:
/affected/0/versions0.11.5Source reference:
/affected/0/versions0.8.0Source reference:
/affected/0/versions0.8.1Source reference:
/affected/0/versions0.9.0Source reference:
/affected/0/versions1.0.0-rc.1Source reference:
/affected/0/versions - Fixed versions
- 1.0.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.8.0"
},
{
"fixed": "1.0.0"
}
]
}
],
"package": {
"name": "grpc",
"purl": "pkg:hex/grpc",
"ecosystem": "Hex"
},
"versions": [
"0.10.0",
"0.10.1",
"0.10.2",
"0.11.0",
"0.11.1",
"0.11.2",
"0.11.3",
"0.11.4",
"0.11.5",
"0.8.0",
"0.8.1",
"0.9.0",
"1.0.0-rc.1"
],
"database_specific": {
"source": "https://cna.erlef.org/osv/EEF-CVE-2026-48599.json"
}
},
{
"ranges": [
{
"repo": "https://github.com/elixir-grpc/grpc",
"type": "GIT",
"events": [
{
"introduced": "8aaf3d3a8c4c7b08ac65e9c6f254e0d24da1d048"
},
{
"fixed": "33b6a095dbc91c6dee3c7b90893d7d74952e82e4"
}
]
}
],
"versions": [
"v0.11.2",
"v0.8.1",
"v0.8.0"
],
"database_specific": {
"source": "https://cna.erlef.org/osv/EEF-CVE-2026-48599.json"
}
}
]- Related CVEs
- CVE-2026-48599
Source reference:
/aliases
Publisher severity
No explicit severity was provided.
- Event
- #14319 · Revision 1
- Added to Heist Feed
- Publisher date