PT-2026-78539 · Zenhive · Zenhive Mpp

·

CVE-2026-73829

·

Published

2026-08-19

·

Updated

2026-08-19

CVSS v4.0

6.3

Medium

VectorAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions ZenHive mpp versions 0.2.0 through 0.6.0
Description A Time-of-check Time-of-use (TOCTOU) race condition exists, allowing an unauthenticated remote client to redeem a single confirmed on-chain payment for multiple paid-resource accesses. This occurs in the type="hash" credential path within the MPP.Methods.Tempo.verify/2 function, which uses a non-atomic check-then-mark sequence. Specifically, the check hash unused/2 function reads the deduplication store, and after an eth getTransactionReceipt round trip verifies the payment on-chain, the mark hash used/2 function writes the mark. Concurrent requests using the same settled payment hash can pass the initial read before any write occurs, resulting in multiple receipts. While an atomic check and mark/2 primitive exists and is used by the type="transaction" path, the hash path incorrectly uses plain get and put operations. This issue requires a deduplication store to be configured, as the default nil store is stateless and provides no replay protection.
Recommendations Update ZenHive mpp to version 0.6.1. As a temporary mitigation, restrict the use of the type="hash" credential path in MPP.Methods.Tempo.verify/2 until the update is applied.

Exploit

Fix

Time Of Check To Time Of Use

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-73829
GHSA-W8J7-7QC3-5F24

Affected Products

Zenhive Mpp