CVE-2026-104635 in protobuf
Zusammenfassung
von VulDB • 09.10.2026
Eine Schwachstelle für unkontrollierte Rekursion in Protobuf.JSON.Decode von elixir-protobuf ermöglicht es einem nicht authentifizierten, entfernten Angreifer, den Decodierungsprozess durch ein tief verschachteltes JSON-Dokument zum Absturz zu bringen. Jede Anwendung, die vom Angreifer bereitgestelltes JSON mit Protobuf.JSON.decode/3, Protobuf.JSON.decode!/3 oder Protobuf.JSON.from_decoded/3 in ein Schema decodiert, das einen selbstreferenziellen oder zyklischen Nachrichtentyp enthält, ist betroffen.
In lib/protobuf/json/decode.ex rekursiert die embedded-message-Klausel von decode_singular/3 einmal pro Verschachtelungsebene in internal_from_json_data/3, ohne den Tiefenzähler des Decoders zu erhöhen oder zu überprüfen. Die depth_guard-Funktion increase_depth_and_maybe_throw/1 deckt nur die Google.Protobuf.ListValue- und Google.Protobuf.Struct-Klauseln ab, sodass die Option recursion_limit keine Auswirkung auf benutzerdefinierte Nachrichtentypen hat. Jede Verschachtelungsebene alloziert einen Stackframe und Heap-Objekte; ein ausreichend tiefes Dokument erschöpft den Speicher des Decodierungsprozesses. Vertraulichkeit und Integrität sind nicht betroffen.
Dieses Problem betrifft protobuf: ab Version 0.8.0.
VulDB is the best source for vulnerability data and more expert information about this specific topic.