Skip to main content

ZenHive mpp EUVDEUVD-2026-62592

| CVE-2026-73136 HIGH
Authentication Bypass by Capture-replay (CWE-294)
2026-08-19 EEF GHSA-cw4v-5gcf-x3cw
8.2
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain static memo from unauthenticated 402 payment challenge response
  2. Delivery
    Monitor public Tempo blockchain for transfer matching operator's recipient, token, amount, and memo
  3. Exploit
    Identify legitimate customer transfer meeting all match criteria
  4. Execution
    Request fresh verification challenge for target payment route
  5. Persist
    Submit victim's transaction hash as type='hash' credential
  6. Impact
    Server skips sender and signature checks, grants access to paid resource

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Replay attack prevention
Exploitation Conditions

Exploitation requires a specific, non-default operator configuration: MPP.Methods.Tempo must be active and method_config must contain a static 'memo' string without a corresponding 'store' (deduplication) setting. This is the precise configuration that triggers the short-circuit in check_matched_memo_binding/3 and disables attribution nonce binding. Additionally, the attacker must be able to identify on-chain transfers that match the operator's expected token, recipient, and amount - all publicly observable on the Tempo blockchain. Exploitation is further bounded to mpp versions 0.6.1-0.6.3. The attack does NOT apply to deployments using the default no-memo configuration (where challenge-bound nonces prevent replay), deployments that have already added a 'store' dedup backend, or mpp versions 0.6.4 and later (where the misconfiguration is rejected at startup). No authentication, credentials, or wallet key material are required from the attacker.

Impact

The CVSS 4.0 score of 8.2 (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N) reflects unauthenticated network exploitation with high integrity impact, moderated by AT:P - the specific attack requirement that the operator has configured a static memo without a dedup store. EPSS data is absent from the provided intelligence, and neither active exploitation (CISA KEV) nor public exploit code has been identified at time of analysis. The real-world risk is tightly scoped to configuration: deployments using the default no-memo (challenge-bound nonce) path are unaffected, which limits the blast radius meaningfully. Even a mid-sized operator in ustka running mpp with the static-memo Tempo configuration should treat this as urgent, since the entire payment enforcement layer can be defeated using only publicly observable blockchain data and standard HTTP calls - no credentials, cryptographic material, or privileged access required. The AT:P modifier in the CVSS 4.0 vector is well-calibrated: it captures the configuration dependency without understating the severity for operators who are in that configuration.

Exploit ScenarioDerived

An attacker passively monitors the public Tempo blockchain and identifies a TransferWithMemo transaction that matches a target operator's configured recipient address, token type, required payment amount, and static memo string (the latter obtained for free from the operator's unauthenticated HTTP 402 challenge response). The attacker then initiates a fresh payment challenge against the same route and submits the legitimate customer's transaction hash as a type='hash' credential payload. Because the server only validates token, recipient, amount, and the static memo - performing no check that the presenter controls the sending wallet - access to the paid resource is granted without the attacker having made any payment.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 19, 2026

Capture-replay authentication bypass in ZenHive mpp versions 0.6.1-0.6.3 allows unauthenticated network attackers to claim paid resources by reusing a legitimate customer's public TIP-20 TransferWithMemo transaction hash. When the Tempo payment method is configured with a static 'memo' value in method_config, the per-challenge attribution nonce binding that ties a specific transfer to a specific verification challenge is skipped unconditionally, and the hash credential path performs no sender or wallet-signature check - leaving only token, recipient, amount, and the static memo (itself broadcast in every unauthenticated 402 response) to match. No active exploitation is confirmed and no public exploit code has been identified; a vendor patch is available in mpp 0.6.4.

RemediationAI

Upgrade to mpp 0.6.4 or later. The patch (commit 2207d7f456ae14c1d3fcacc6f635bf4f8cee1a34, https://github.com/ZenHive/mpp/commit/2207d7f456ae14c1d3fcacc6f635bf4f8cee1a34) adds a validate_memo_store_binding!/1 startup check that raises an ArgumentError at initialization if a static 'memo' is present in method_config without a valid 'store' key, preventing misconfigured deployments from running entirely. If an immediate upgrade is not possible, two workarounds are available: (1) remove the static 'memo' from method_config entirely, reverting to the default challenge-bound attribution nonce path which does not require a store and is not affected by this vulnerability; or (2) add a 'store' key pointing to a running dedup backend such as MPP.Tempo.ConCacheStore, which enforces single-use transaction hashes and closes the replay window - note that this requires deploying and supervising the ConCacheStore process. The vendor advisory at https://github.com/ZenHive/mpp/security/advisories/GHSA-34g7-vx6g-82mq provides additional configuration guidance.

Affected VersionsENISA

mpp 0.6.1 <0.6.4
mpp 542a525563c2fcedd670b593437deca81c6797a4 <2207d7f456ae14c1d3fcacc6f635bf4f8cee1a34

Affected Packages

euvd mpp fix: 0.6.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ZenHive mpp is an Elixir-based multi-party payment library that integrates with the Tempo blockchain protocol's TIP-20 TransferWithMemo primitive (CPE: cpe:2.3:a:zenhive:mpp:*:*:*:*:*:*:*:*). Normally, MPP.Methods.Tempo embeds a challenge-bound attribution nonce into the memo field of each TransferWithMemo, cryptographically tying a settled on-chain transfer to the specific payment challenge it fulfills and preventing its reuse. CWE-294 (Authentication Bypass by Capture-replay) precisely describes the root cause: the authentication proof (a transaction hash) is observable by any third party on the public blockchain, and when the nonce-binding check is short-circuited by the static-memo code path in check_matched_memo_binding/3, nothing prevents a non-participant from presenting that proof. The commit diff confirms the flaw is in tempo.ex at the validate_config!/1 stage, which previously allowed static-memo configurations to proceed without requiring a deduplication store (the 'store' key in method_config), leaving no single-use enforcement backstop.

Know when Mpp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

Unauthenticated network exploitation with no user interaction, but AC:H reflects the required non-default static-memo-without-store operator configuration; only integrity is impacted.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Authentication Bypass by Capture-replay in ZenHive mpp allows an unauthenticated third party to obtain paid resources by replaying a transfer settled by an unrelated payer.

MPP.Methods.Tempo normally binds a settled TIP-20 TransferWithMemo to the specific challenge under verification through an attribution nonce carried in the memo. When a static "memo" is configured in method_config, check_matched_memo_binding/3 returns the match unconditionally and that binding is skipped, leaving only token, recipient, amount and the static memo value to match on. The static memo is echoed in every unauthenticated 402 response and Tempo transfers are public, so an attacker can take any matching transfer paid by a legitimate customer, request a fresh challenge for the same route, and present that transaction hash as a type="hash" credential. The hash path performs no sender or signature check tying the presenter to the wallet that broadcast the transfer.

This issue affects mpp: from 0.6.1 before 0.6.4.

Executive ViewAI

Why It Matters

ZenHive mpp versions 0.6.1-0.6.3 contain a payment authentication bypass allowing unauthenticated attackers to claim paid resources without payment, directly impacting revenue for organizations using the Tempo payment method. Immediate patching to version 0.6.4 is required to prevent ongoing financial exposure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Rare
niche Elixir payment library for Tempo blockchain ecosystem
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Mpp

View all
CVE-2026-82750 HIGH POC
8.3 Sep 06

Missing validation of the EIP-7702 aa_authorization_list field in ZenHive mpp's Tempo payment sponsorship module allows

CVE-2026-82751 HIGH POC
8.3 Sep 06

Gas-cost inflation and unauthorized access key provisioning in ZenHive mpp (versions 0.2.0 through 0.15.x) allows any un

CVE-2026-67581 HIGH
8.7 Aug 19

Replay of settled EVM blockchain transaction hashes against ZenHive mpp versions 0.3.0-0.6.2 allows unauthenticated remo

CVE-2026-73541 HIGH
8.3 Aug 19

Concurrent sponsored-payment flooding in ZenHive mpp (versions 0.2.0 through 0.12.0) allows an unauthenticated remote cl

CVE-2026-59694 HIGH
8.3 Jul 17

Economic resource exhaustion in the ZenHive mpp Elixir library (versions 0.2.0 through 0.5.x) lets an unauthenticated re

CVE-2026-59695 HIGH
8.3 Jul 17

Fee-payer wallet draining in ZenHive mpp (Elixir) 0.2.0-0.5.x lets an unauthenticated remote client empty the sponsor's

CVE-2026-59252 HIGH
8.2 Jul 17

Wallet-draining denial of service in ZenHive mpp (Elixir library) versions 0.2.0 through 0.5.x affects deployments confi

CVE-2026-87119 HIGH
8.2 Sep 22

Replay of a captured Tempo subscription credential in ZenHive mpp 0.14.0 through 0.16.1 lets an attacker who already hol

CVE-2026-89420 HIGH
7.1 Sep 22

ZenHive mpp versions 0.14.0 through 0.16.1 fail to charge clients that hold an open payment channel, allowing an authent

CVE-2026-88255 MEDIUM
6.3 Sep 16

Duplicate-submission gate bypass in the Tempo payment method of ZenHive mpp (versions 0.2.0 through 0.16.1) lets an unau

CVE-2026-89186 MEDIUM
6.3 Sep 16

ZenHive mpp (MPP.Plug payment middleware for Elixir/Phoenix) versions 0.1.0 through 0.16.1 can allow a shared HTTP cache

CVE-2026-73829 MEDIUM
6.3 Aug 19

Payment-replay protection in ZenHive mpp's Tempo hash-credential path is defeated by a TOCTOU race condition, allowing a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy