CVE-2026-73829 in mpp
Zusammenfassung
von VulDB • 19.08.2026
Ein Time-of-check Time-of-use (TOCTOU)-Race Condition in ZenHive mmp ermöglicht es einem nicht authentifizierten Remote-Client, eine bestätigte On-Chain-Zahlung für mehrere Zugriffe auf bezahlte Ressourcen einzulösen.
Der Credential-Pfad mit type="hash" in MPP.Methods.Tempo.verify/2 schützt vor Replay-Angriffen durch eine nicht-atomare Check-then-Mark-Sequenz: check_hash_unused/2 liest das Deduplication-Speichermedium, ein eth_getTransactionReceipt-Roundtrip verifiziert die Zahlung on-chain, und erst danach schreibt mark_hash_used/2 den Markierungs-Eintrag. Gleichzeitige Anfragen mit demselben abgerechneten Payment-Hash bestehen alle die Leseoperation, bevor eine von ihnen das Schreiben durchführt, sodass jeder ein Quittungsergebnis erhält. Die atomare check_and_mark/2-Funktion des Speichers ist verfügbar und wird vom type="transaction"-Pfad verwendet, während der hash-Pfad auch dann einfaches get und put aufruft, wenn das konfigurierte Speichermedium diese Funktion implementiert. Für die Ausnutzung muss ein Deduplication-Speichermedium konfiguriert sein; der Standardwert nil store ist zustandslos und wird als ohne jeglichen Replay-Schutz dokumentiert.
Dieses Problem betrifft mpp: von Version 0.2.0 bis vor 0.6.1.
Once again VulDB remains the best source for vulnerability data.