Elixir-grpc Grpc Server: Umgehung der Autorisierung über nutzergesteuerten Schlüssel (CVE-2026-124278)
Veröffentlicht Zuletzt geändert Quellen: OSV, EUVD, CVE.org
Was ist betroffen, was ist zu tun
Aktualisieren Sie Elixir-grpc Grpc Server auf Version 1.1.0, Elixir-grpc Grpc auf Version 1.0.0.
- Betroffen
- Elixir-grpc Grpc Server
lt 1.0.0..1.1.0 - Elixir-grpc Grpc
lt 0.8.0..1.0.0
- Elixir-grpc Grpc Server
- Behoben in
- Elixir-grpc Grpc Server
1.1.0 - Elixir-grpc Grpc
1.0.0
- Elixir-grpc Grpc Server
Unklar, ob und wie Sie betroffen sind? Frage zu dieser Schwachstelle stellen
Metriken
7,6
XIEM Effective CVSS
Höchste verfügbare CVSS-Bewertung aus NVD- und Herstellerangaben.
Quelle: Hersteller (CNA), CVSS v4
7,6
CVSS v4
Schweregrad Hoch auf der Skala von 0 bis 10.
Quelle: OSV, EUVD, CVE.org
—
EPSS-Score
Für diese Schwachstelle liegt kein Wert vor.
Alle Metriken anzeigen
- Schweregrad
- Hoch
Priorität (0–325)
Der Priorisierungs-Score ist eine zusammengeführte Kennzahl, die mehrere Einzelsignale zu einer einzigen, handlungsleitenden Rangfolge verdichtet: technische Schwere (CVSS), Ausnutzungswahrscheinlichkeit (EPSS), der Status als bekannt ausgenutzt (KEV) und der Kontext des betroffenen Assets. Ziel ist die Antwort auf die einzig wirklich wichtige Frage im Schwachstellenmanagement: Was zuerst?
Im Glossar lesen- 68.00 Methodik
Exploit-Reife
Ein Exploit ist Code oder eine Technik, die eine konkrete Schwachstelle gezielt ausnutzt, um ein unbeabsichtigtes Verhalten zu erzwingen — etwa Code auszuführen oder Rechte auszuweiten. Er ist das Werkzeug, das aus einer theoretischen Lücke einen praktischen Angriff macht.
Im Glossar lesen- kein öffentlicher PoC bekannt
XIEM Effective CVSS
XIEM® ist das gestufte Managed-Security-Betriebsmodell von NEOSEC und eine eingetragene Marke der NEOSEC GmbH. Es erweitert klassisches SIEM — die zentrale Sammlung, Normalisierung und Korrelation sicherheitsrelevanter Ereignisse — um Endpunkt-Forensik, Netzwerk-Sichtbarkeit und Täuschungstechnik und führt diese zu drei aufeinander aufbauenden Stufen zusammen: Sentry, Orchestrate und Command.
Im Glossar lesen- 7,6 Methodik
CVSS v4
CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.
Im Glossar lesen- 7,6
KEV-Status
Der KEV-Katalog ist eine von der US-Behörde CISA gepflegte Liste von Schwachstellen, für die eine aktive Ausnutzung in der Praxis nachgewiesen ist. Er beantwortet nicht die Frage „wie schwer?“, sondern „wird es bereits angegriffen?“ — und priorisiert damit das Patchen scharf.
Im Glossar lesen- —
- Veröffentlicht
CWE
CWE ist ein Katalog typischer Schwächen-Arten in Software und Hardware — etwa fehlerhafte Eingabevalidierung, unsichere Speicherbehandlung oder mangelhafte Authentisierung. Während eine CVE eine konkrete Schwachstelle in einem konkreten Produkt benennt, beschreibt eine CWE die zugrunde liegende Fehlerklasse.
Im Glossar lesen- CWE-436, CWE-639
Erkennungsregeln
Für diese Schwachstelle liegt noch keine NEOSEC-Erkennungsregel vor.
Einordnung nach NIS2 und CRA
Regelbasierte Einordnung aus Ausnutzungsstatus und Schweregrad. Sie ersetzt keine Prüfung im Einzelfall.
NIS2
NIS2 ist die EU-Richtlinie (EU) 2022/2555 zur Erhöhung des Cybersicherheitsniveaus in der Union. Sie weitet Pflichten gegenüber der ersten NIS-Richtlinie deutlich aus: mehr Sektoren, verbindliches Risikomanagement, gestufte Meldepflichten und persönliche Verantwortung der Geschäftsleitung.
Im Glossar lesen- Hohe technische Schwere: Bewerten und beheben Sie die Schwachstelle im Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2 und dokumentieren Sie die Entscheidung.
CRA
Der CRA ist die EU-Verordnung (EU) 2024/2847 mit horizontalen Cybersicherheitsanforderungen an „Produkte mit digitalen Elementen“ — von Industriesteuerungen über Software bis zu vernetzten Verbrauchergeräten. Erstmals müssen Hersteller Sicherheit über den gesamten Produktlebenszyklus gewährleisten, Schwachstellen behandeln und Sicherheitsupdates bereitstellen.
Im Glossar lesen- Ab dem 11.12.2027 verpflichtet Anhang I Teil II CRA Hersteller betroffener Produkte mit digitalen Elementen, Schwachstellen unverzüglich zu behandeln und Sicherheitsupdates bereitzustellen.
ISO/IEC 27001
ISO/IEC 27001 ist der international führende Standard für ein Informationssicherheits-Managementsystem (ISMS). Er beschreibt einen risikobasierten, prozessorientierten Rahmen, um Informationssicherheit systematisch zu planen, umzusetzen, zu überprüfen und zu verbessern.
Im Glossar lesen- Maßnahme A.8.8, Management technischer Schwachstellen: Relevanz für Ihre Systeme bewerten, Behebung einplanen und nachweisen.
Beschreibung
Zusammenfassung
Eine Umgehung der Autorisierung durch eine von Benutzern kontrollierte Schlüssel-Schwachstelle in elixir-grpc grpc_server und grpc ermöglicht es einem Angreifer, einen Handler dazu zu bringen, auf eine andere Ressource als die im URL einer HTTP-transcodierten Route genannte zu wirken, indem er eine Anfrage mit einem gRPC Content-Type sendet.
Nur der Transcodierungsabschnitt von GRPC.Server.do_handle_request/4 (grpc_server/lib/grpc/server.ex, und lib/grpc/server.ex vor dem Paket-Split) wendet die Pfadbindungen der Route auf die Anfrage-Nachricht an. Der Cowboy-Handler wählt diesen Abschnitt basierend auf dem Content-Type der Anfrage aus, nicht basierend auf der Route. Eine Anfrage an eine transcodierte URL mit application/grpc oder application/grpc-web wird allein aus dem Body dekodiert, so dass jedes pfadgebundene Feld seinen Wert aus dem Body bezieht. Ein Gateway, Proxy-Regel oder WAF, das auf dem URL-Pfad autorisiert, sieht eine Ressource, während der Handler eine andere erhält.
Dieses Problem betrifft grpc_server: von 1.0.0 bis 1.1.0; grpc: von 0.8.0 bis 1.0.0.
Details
1. Der Header wählt den Abschnitt aus
Der Cowboy-Handler leitet den Zugriffsmodus aus dem Content-Type der Anfrage ab. application/json wählt :http_transcoding, application/grpc wählt :grpc und application/grpc-web+proto wählt :grpcweb. Der Router passt immer noch das transcodierte URL-Template an und extrahiert seine Pfadbindungen.
2. Bindungen werden in einem Abschnitt nur angewendet
GRPC.Server.do_handle_request/4 liest die Bindungen mit adapter.get_bindings/1 und fusioniert sie durch GRPC.Server.Transcode.map_request/5 nur im :http_transcoding-Abschnitt. Die unary- und request-streaming-Abschnitte dekodieren den Body allein mit dem ausgewählten Codec. GRPC.Codec.Proto ist in den Standard-Codecs jedes Servers enthalten, so dass application/grpc immer akzeptiert wird.
3. Die HTTP/1.1-Guard-Klausel stimmt nie überein
resolve_access_mode/3 hat eine Klausel, die die Transcodierung für HTTP/1.1-Anfragen erzwingt. Sie stimmt mit der Version als Binärstring "HTTP/1.1" überein, während Cowboy die Version als Atom speichert, so dass die Klausel nie angewendet wird und die Anfrage über einfaches HTTP/1.1 funktioniert.
4. Ergebnis
Eine Anfrage an /v1/messages/alice mit Content-Type: application/grpc und einer Nachricht, die name auf victim setzt, erreicht den Handler mit name auf victim gesetzt. Mit einer leeren Nachricht ist das Feld leer: die Pfadbindung wird nie konsultiert.
Proof of Concept
- Starte einen Server mit
http_transcode: trueund einer transcodierten Route, die ein Feld vom Pfad bindet, zum BeispielGET /v1/messages/{name}. - Baue einen gRPC-Frame, dessen Nachricht
nameaufvictimsetzt. - Sende ihn über HTTP/1.1 als
GET /v1/messages/alicemitContent-Type: application/grpc. - Beobachte, dass der Handler
nameaufvictimerhält, nichtalice.
Auswirkungen
Ein Angreifer, dessen Anfragen durch den URL-Pfad autorisiert werden, kann den Handler dazu bringen, eine Ressource zu lesen oder zu ändern, die der Pfad nicht nennt, wie zum Beispiel Daten eines anderen Mandanten.
Konfigurationen
Die HTTP-zu-gRPC-Transcodierung muss mit http_transcode: true aktiviert sein. Der Zugriff auf eine Ressource muss auf Basis des URL-Pfads und nicht auf Basis der dekodierten Anfrage entschieden werden, zum Beispiel durch ein API-Gateway, eine Proxy-Regel oder einen WAF vor dem Server.
Originalquelle nur englisch verfügbar, maschinell ins Deutsche übersetzt.
Quelle: OSV (Open Source Vulnerabilities), ENISA EUVD, NVD (NIST), CVE.org (MITRE), cvelistv5
Betroffene Produkte
Betroffen sind die folgenden Versionen. Ältere Stände derselben Reihe sind ebenfalls verwundbar, sofern nicht anders angegeben.
| Betroffene Versionen | Behoben in | ||
|---|---|---|---|
| elixir-grpc | grpc |
|
|
| elixir-grpc | grpc_server |
|
|
| hex | grpc |
|
|
| hex | grpc_server |
|
|
Hersteller und Produkte
Weakness-Klassen (CWE)
CWE-436Interpretation Conflict
Class
Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.
Eintrag bei MITRE CWE-436CWE-639Authorization Bypass Through User-Controlled Key
Base
The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
Eintrag bei MITRE CWE-639
Quellen & Referenzen
- github.comPath bindings ignored for gRPC Content-Types on transcoded routes in elixir-grpc grpc_serveradvisory, Herstellerhinweis, related, euvd
- cna.erlef.orgEEF CNA record for CVE-2026-124278web, related, euvd
- github.comIntroducing commit 0332faa in elixir-grpc/grpcweb, related, euvd
- github.comFix commit 953ab98 in elixir-grpc/grpcfix, Patch, euvd
- github.comIntroducing commit 8aaf3d3 in elixir-grpc/grpcweb, related, euvd
- hex.pmpackages/grpc_serverpackage
- hex.pmpackages/grpcpackage
- OSV (Open Source Vulnerabilities)OSV record EEF-CVE-2026-124278related, euvd
Änderungen an der CVE
Wer diese CVE wann geändert hat: die NVD (Analyse, betroffene Produkte, CVSS), der Herausgeber der CVE (CNA) und ergänzende Stellen wie CISA (ADP).
Neu erfasstEEF
CVSS V4.0: AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Schwachstellentyp: CWE-436, CWE-639
Beschreibung erfasst oder geändert
Neue Referenzen:- https://cna.erlef.org/cves/CVE-2026-124278.html
- https://github.com/elixir-grpc/grpc/commit/0332faae5f5e132314794dbfdae5edecbccea292
- https://github.com/elixir-grpc/grpc/commit/8aaf3d3a8c4c7b08ac65e9c6f254e0d24da1d048
- https://github.com/elixir-grpc/grpc/commit/953ab980d8a127e895d3ab9505fc4b9337bb32f7
und 2 weitere Referenzen
11 Einzeländerungen im Original anzeigen
Einzeländerungen dieses Ereignisses im Original der NVD Art Aktion Vorher Nachher Beschreibung ergänzt —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.CVSS ergänzt —AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSchwachstellentyp (CWE) ergänzt —CWE-436Schwachstellentyp (CWE) ergänzt —CWE-639Betroffene Versionen (Herausgeber) ergänzt —New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/124xxx/CVE-2026-124278.json">CVE-2026-124278</a>Referenz ergänzt —https://cna.erlef.org/cves/CVE-2026-124278.htmlReferenz ergänzt —https://github.com/elixir-grpc/grpc/commit/0332faae5f5e132314794dbfdae5edecbccea292Referenz ergänzt —https://github.com/elixir-grpc/grpc/commit/8aaf3d3a8c4c7b08ac65e9c6f254e0d24da1d048Referenz ergänzt —https://github.com/elixir-grpc/grpc/commit/953ab980d8a127e895d3ab9505fc4b9337bb32f7Referenz ergänzt —https://github.com/elixir-grpc/grpc/security/advisories/GHSA-xc5v-89vq-hv5mReferenz ergänzt —https://osv.dev/vulnerability/EEF-CVE-2026-124278Kennung der Quelle: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Badge einbetten
Zeigen Sie Schweregrad und KEV-Status dieser Schwachstelle auf Ihrer Seite – mit Link hierher. Das Bild wird stündlich aktualisiert.
<a href="https://intel.neosec.eu/cve/CVE-2026-124278"><img src="https://intel.neosec.eu/badge/cve/CVE-2026-124278.svg" alt="CVE-2026-124278 – NEOSEC Intel" height="20"></a>