Description
Authentication Bypass by Capture-replay in ZenHive mpp allows an unauthenticated remote client to obtain paid resources by resubmitting one settled on-chain transfer.

MPP.Methods.EVM.verify/2 accepts a transaction-hash credential and matches a transfer purely on token, to and amount (ERC-20) or to and value (native). It binds the proof neither to the challenge being verified nor to any record of prior use, and the generic MPP.Plug dedup store keys on challenge.id, which is regenerated for every 402 response. On a static-price route, a single historical transfer matching the charge therefore satisfies an unbounded number of later charges, including transfers an attacker can read off a public block explorer.

This issue affects mpp: from 0.3.0 before 0.6.3.
Published: 2026-08-19
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

MPP.Methods.EVM.verify/2 accepts a transaction hash as a credential and authenticates a client by matching only the token and amount or native value of the transaction, without binding the proof to a specific challenge or recording prior use. Because of this, an attacker can reuse a settled on‑chain transfer to satisfy any later on‑chain payment challenge and obtain paid resources repeatedly without paying. The flaw effectively allows unauthenticated remote clients to bypass payment verification entirely.

Affected Systems

ZenHive mpp versions starting with 0.3.0 up to and including 0.6.2 are vulnerable. The product is the multi‑purpose payment protocol (mpp) released by ZenHive. Any installation of these versions that processes ERC‑20 or native token transfers via the EVM payment method is at risk.

Risk and Exploitability

The CVSS score is 8.7, classifying the issue as high severity. EPSS data is not available and the vulnerability is not listed in CISA’s KEV catalog, yet the attack vector is remote and unauthenticated; an adversary only needs to obtain the transaction hash from a public block explorer. Once the hash is known, replaying the transaction against future challenges requires no additional privileges or credentials, making exploitation relatively straightforward.

Generated by OpenCVE AI on August 20, 2026 at 13:29 UTC.

Remediation

Vendor Workaround

Price each challenge uniquely (per-challenge or single-use amounts) so that a historical transfer cannot match a later charge, and keep challenge expiry short to narrow the window in which any given transfer stays useful. Deployments that can use the Tempo method for on-chain payments get per-challenge attribution binding instead.


OpenCVE Recommended Actions

  • Upgrade ZenHive mpp to version 0.6.3 or later to receive the vendor fix.
  • Apply the workaround by pricing each payment challenge uniquely or using single‑use amounts and keeping challenge expiries short to limit the time window during which a historical transfer remains valid.
  • If available, switch to the Tempo method for on‑chain payments, which provides per‑challenge attribution binding to prevent replay attacks.

Generated by OpenCVE AI on August 20, 2026 at 13:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 19 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Zenhive
Zenhive mpp
Vendors & Products Zenhive
Zenhive mpp

Wed, 19 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Description Authentication Bypass by Capture-replay in ZenHive mpp allows an unauthenticated remote client to obtain paid resources by resubmitting one settled on-chain transfer. MPP.Methods.EVM.verify/2 accepts a transaction-hash credential and matches a transfer purely on token, to and amount (ERC-20) or to and value (native). It binds the proof neither to the challenge being verified nor to any record of prior use, and the generic MPP.Plug dedup store keys on challenge.id, which is regenerated for every 402 response. On a static-price route, a single historical transfer matching the charge therefore satisfies an unbounded number of later charges, including transfers an attacker can read off a public block explorer. This issue affects mpp: from 0.3.0 before 0.6.3.
Title On-chain transfer proof is not single-use in mpp EVM payment method, enabling cross-challenge replay
First Time appeared Zenhive
Zenhive mpp
Weaknesses CWE-294
CPEs cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*
Vendors & Products Zenhive
Zenhive mpp
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-19T18:44:31.945Z

Reserved: 2026-08-18T10:30:01.759Z

Link: CVE-2026-67581

cve-icon Vulnrichment

Updated: 2026-08-19T18:44:02.876Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-19T18:17:17.303

Modified: 2026-08-20T13:02:12.153

Link: CVE-2026-67581

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T13:30:17Z

Weaknesses
  • CWE-294

    Authentication Bypass by Capture-replay