Katalog CVE

CVE-2026-48599

WysokieCVSS 7.6
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.34%

Percentyl 27 - wyżej niż 27% wszystkich znanych CVE

Streszczenie

Podatność obejścia autoryzacji poprzez klucz kontrolowany przez użytkownika w bibliotece elixir-grpc grpc pozwala uwierzytelnionym atakującym na dostęp lub modyfikację zasobów należących do innych użytkowników. W funkcji map_request/5 (lib/grpc/server/transcode.ex) wszystkie trzy klauzule używają Map.merge/2 z powiązaniami ścieżki jako pierwszym argumentem, nadając im najniższy priorytet scalania, przez co pole powiązane ze ścieżką przyjmuje wartość dostarczoną przez atakującego zamiast wartości wyodrębnionej przez router. Problem dotyczy wersji od 0.8.0 przed 1.0.0.

Ocena ryzyka

Każdy handler używający pola powiązanego ze ścieżką do autoryzacji, separacji dzierżawców lub sprawdzania własności jest po cichu omijany, co może prowadzić do nieautoryzowanego dostępu do danych innych użytkowników. W aplikacjach wielodostępnych może to skutkować wyciekiem lub modyfikacją danych należących do innych organizacji.

Rekomendacja

Zaktualizować bibliotekę grpc do wersji 1.0.0 lub nowszej. Do czasu aktualizacji zweryfikować, czy handlery nie polegają wyłącznie na polach powiązanych ze ścieżką do celów autoryzacji, i w razie potrzeby dodać dodatkowe kontrole.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS