Read the docs
TI-2026-60473 Aliases CVE-2026-89420GHSA-96m7-5wfv-978m

Session voucher adding no new funds is accepted without a charge in mpp, serving paid resources for free

Priority MEDIUM 64CWE-1284Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00409 35th percentileScored 2026-11-07
Fix Fixed mpp (ZenHive): 0.16.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ZenHivempp0.14.0 to before 0.16.20.16.2Patch availableCNA
  • mpp VendorZenHive Affected 0.14.0 to before 0.16.2 Fixed in 0.16.2 Patch available CNA

CPE names CNA · 1

CPEVersionsRoleVendor
cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*———
  • cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:* Versions — — ·—

Remediation

  • Fix · CNA mpp (ZenHive) Fixed in 0.16.2

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    ZenHive mpp 0.16.2

    2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-59483 Authentication bypass by capture-replay in ZenHive mppPriority LOW 36

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-89420
  2. 2026-10-03 Alias added: GHSA-96m7-5wfv-978m

References

  • TI-2026-42571 Unbounded max_fee_per_gas in mpp Tempo fee-payer enables single-request wallet drain CVSS 4.0HIGH 8.3
  • TI-2026-42570 Unbounded access list in mpp Tempo fee-payer inflates gas cost per payment CVSS 4.0HIGH 8.3
  • TI-2026-42392 Missing gas_limit validation in mpp Tempo fee-payer enables wallet drain CVSS 4.0HIGH 8.2
  • TI-2026-47746 On-chain transfer proof is not single-use in mpp EVM payment method, enabling cross-challenge replay CVSS 4.0HIGH 8.7
  • TI-2026-51635 Resource allocation without limits in ZenHive mpp CVSS 4.0HIGH 8.3
  • TI-2026-57069 Unbounded key authorization in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors access-key provisioning CVSS 4.0HIGH 8.3
See all 12 →

Sources