CVE Catalog

CVE-2026-89420

HighCVSS 7.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

40th percentile - higher than 40% of all known CVEs

Summary

ZenHive mpp (from 0.14.0 before 0.16.2) has improper validation of specified quantity in input. A client with an open payment channel can obtain paid resources without being charged because a voucher with the same cumulative amount is treated as an idempotent success and maybe_spend/2 is not called. The same signed voucher can be re-presented under new challenges, yielding an unbounded number of paid units.

Risk Assessment

An attacker can repeatedly reuse a single paid voucher to obtain unlimited paid resources without incurring charges. This leads to financial loss and abuse of the billing system.

Recommendation

Update the mpp library to version 0.16.2 or later. Verify that voucher acceptance logic correctly validates cumulative amounts and calls maybe_spend/2.

Other vulnerabilities in ZenHive mpp

See all
Original NVD description (English source)

Improper Validation of Specified Quantity in Input in ZenHive mpp allows a client holding an open payment channel to obtain paid resources without being charged. MPP.Session.Actions.accept_voucher/3 in lib/mpp/session/actions.ex treats a voucher whose cumulativeAmount equals the channel's already-accepted cumulative amount as an idempotent success, returning the channel unchanged without calling maybe_spend/2. The credential verifies, the protected resource is served, and spent and units stay where they were. Because the server issues a fresh challenge per request and the credential replay store keys on challenge id and payload, the same signed voucher can be re-presented under every new challenge, so one paid voucher yields an unbounded number of paid units. The path is reachable from any method built on MPP.Session.Method through the Plug, MCP, JSON-RPC and WebSocket transports. This issue affects mpp: from 0.14.0 before 0.16.2.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS