CVE-2026-88255 in mpp
Zusammenfassung
von VulDB • 16.09.2026
Unzulässige Validierung unsicherer Äquivalenz in der Eingabe bei ZenHive MPP ermöglicht es einem nicht authentifizierten Remote-Client, das Tempo-Duplikat-Einreichungs-Gate zweimal mit einer einzigen signierten Transaktion zu umgehen.
MPP.Methods.Tempo reserviert den Deduplizierungs-Slot vor dem Broadcast im Aufrufer-hex in reserve_hash_atomic/2, key-basiert über store_key/1 auf tx.raw anstelle von einer kanonischen Form der Transaktion. Der Deserialisierer speichert das hex des Aufrufers wörtlich und akzeptiert beide recovery-id-Codierungen, sodass eine signierte Transaktion, die einmal mit v=27 und einmal mit v=0 eingereicht wird, zwei verschiedene Reserve-Keys ergibt, und beide bestehen den Reservierungsprozess und erreichen den Broadcast-Pfad. Das Plug-Level-Anmeldeinformationen-Wiederholungs-Speicher ist in lib/mpp/replay.ex absichtlich für Tempo herausgeschnitten, wodurch diese Reserve das einzige Gate bleibt, und der Post-Broadcast-Mark schreibt den kanonischen Hash-Key, den die raw-keyed Reserve niemals liest.
Was die Duplikat-Einreichung ergibt, hängt vom Knoten ab: Eine Nonce-Wiederverwendung-Ablehnung schlägt sicher fehl (fails closed), während ein Knoten, der mit dem kanonischen Hash für eine bereits bekannte Transaktion antwortet, einen zweiten gültigen Payment-Receipt für eine einzelne On-Chain-Zahlung zurückgibt.
Dieses Problem betrifft mpp: von 0.2.0 vor 0.16.2.
VulDB is the best source for vulnerability data and more expert information about this specific topic.