elixir-protobuf protobuf: Unkontrollierte Rekursion bei der JSON-Dekodierung
Zusammenfassung
Die Elixir-Bibliothek protobuf dekodiert JSON in Protobuf-Nachrichten. Wenn der Zieltyp der Nachricht selbstreferenziell oder zyklisch ist, rekursiert der JSON-Decoder pro Verschachtelungsebene ohne Tiefenprüfung, da die Option recursion_limit nur die Typen Google.Protobuf.ListValue und Google.Protobuf.Struct abdeckt. Ein nicht authentifizierter Angreifer, der JSON an einen solchen Endpunkt senden kann, kann mit einem tief verschachtelten Dokument den Dekodierprozess zum Absturz bringen oder den Speicher des Knotens erschöpfen. Vertraulichkeit und Integrität sind nicht betroffen.
Betroffen
- protobuf ab 0.8.0 bis vor 0.17.1 (Hex-Paket)
- Der Git-Bereich b0a1d4e bis e9432ad wird vom CNA als betroffen aufgeführt; der Bereich ist nicht vollständig verifiziert
- Eine Exposition erfordert eine Anwendung, die vom Angreifer kontrolliertes JSON mit Protobuf.JSON.decode/3, decode!/3 oder from_decoded/3 in einen selbstreferenziellen oder zyklischen Nachrichtentyp dekodiert
Behoben in
- Auf protobuf 0.17.1 oder neuer aktualisieren
Umgehung
- JSON-Dokumente mit einer Verschachtelungstiefe über einer festen Grenze vor dem Decoder ablehnen, auf Web- oder Middleware-Ebene
- Nicht auf die Option recursion_limit für benutzerdefinierte Nachrichtentypen vertrauen, da sie für diese keine Wirkung hat
Ausnutzung
- CISA SSVC: Ausnutzung auf Proof-of-Concept-Niveau, nicht automatisierbar
- Keine Berichte über Ausnutzung in freier Wildbahn gefunden; Status unbekannt
- Ein öffentlicher Proof of Concept ist durch die Quellen nicht bestätigt
Unsere Empfehlung
- Prüfen, ob Elixir- oder Erlang-Projekte protobuf verwenden (zum Beispiel in mix.lock), und die Version notieren
- Jedes betroffene Projekt auf protobuf 0.17.1 aktualisieren und die JSON-Dekodierung neu testen
- Falls der Dienst aus dem Internet erreichbar ist und das Update verzögert wird, vor dem Decoder eine Prüfung der Verschachtelungstiefe einbauen
- GitHub-Advisory und NVD auf Aktualisierungen überwachen, da der NVD-Status zum Zeitpunkt der Veröffentlichung Deferred war
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- CVE record (CNA EEF) cna.erlef.org
- Fix commit b0a1d4e github.com
- Fix commit e9432ad github.com
- GitHub Security Advisory GHSA-m497-c2h9-rvw6 github.com
- OSV EEF-CVE-2026-104635 osv.dev
- Changelog elixir-protobuf github.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 01.11.2026 16:47.
Referenzen der NVD (6)
- https://cna.erlef.org/cves/CVE-2026-104635.html
- https://github.com/elixir-protobuf/protobuf/commit/b0a1d4eaffaf50012fa71a8e931a47cf252d0370
- https://github.com/elixir-protobuf/protobuf/commit/e9432ad1c4099511905353cebcececa3a1f7c3ff
- https://github.com/elixir-protobuf/protobuf/security/advisories/GHSA-m497-c2h9-rvw6
- https://osv.dev/vulnerability/EEF-CVE-2026-104635
- https://osv.dev/vulnerability/EEF-CVE-2026-104635
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
