PT-2026-96709 · Zenhive · Zenhive Mpp

·

CVE-2026-89420

·

Published

2026-09-22

·

Updated

2026-09-22

CVSS v4.0

7.1

High

VectorAV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions ZenHive mpp versions 0.14.0 through 0.16.1
Description Improper validation of the specified quantity in the input allows a client with an open payment channel to obtain paid resources without being charged. The function accept voucher/3 in lib/mpp/session/actions.ex treats a voucher where the cumulativeAmount equals the channel's already-accepted cumulative amount as an idempotent success. This results in the channel remaining unchanged without calling maybe spend/2, meaning the protected resource is served while spent and units variables remain static. Since the server issues a fresh challenge per request and the credential replay store keys on challenge ID and payload, a single signed voucher can be re-presented under every new challenge to obtain an unbounded number of paid units. This path is accessible via any method built on MPP.Session.Method through Plug, MCP, JSON-RPC, and WebSocket transports.
Recommendations Update ZenHive mpp to version 0.16.2.

Exploit

Fix

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

Weakness Enumeration

Related Identifiers

CVE-2026-89420
GHSA-8C63-R789-XRRF

Affected Products

Zenhive Mpp