Skip to main content

ZenHive mpp CVE-2026-59252

| EUVDEUVD-2026-45160 HIGH
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-07-17 EEF GHSA-vp7w-82cm-hj3h
8.2
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Recon
    Reach mpp fee-payer endpoint over network
  2. Delivery
    Submit signed transferWithMemo with low gas_limit
  3. Exploit
    Server co-signs and broadcasts transaction
  4. Install
    EVM execution runs out of gas and reverts
  5. C2
    Sponsor fee-payer wallet charged for burned gas
  6. Execute
    Repeat requests to drain wallet
  7. Impact
    Sponsor unable to fund legitimate payments (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Input size validation
Exploitation Conditions

The server must be deployed as a Tempo fee payer with fee_payer: true and using the MPP.Methods.Tempo payment method on mpp versions 0.2.0 through 0.5.x; the attacker submits a validly client-signed transferWithMemo (0x76 envelope) EVM transaction with gas_limit deliberately set just below the amount required for the call to complete, which the server co-signs and broadcasts via rpc_broadcast_sync (the optimistic wait_for_confirmation = false path is also affected because its eth_call simulation omits the gas parameter). No authentication is required (PR:N) and no user interaction is needed (UI:N). Exploitation is limited to sponsor deployments only - installations not acting as fee payer, not using the Tempo method, or already on 0.6.0+ are not affected - and the attacker must be able to compute and set a gas_limit precisely below the execution threshold for the intended call (the AT:P attack requirement).

Impact

The vendor CVSS 4.0 vector CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N scores 8.2 (High) and is internally consistent with the description: network-reachable (AV:N), unauthenticated (PR:N), no user interaction (UI:N), a present attack requirement (AT:P - the server must be running as a Tempo fee payer and the attacker must tune gas_limit just below the execution threshold), and impact confined to availability (VA:H) with no confidentiality or integrity effect. No EPSS score was provided, and KEV status is not listed, so there is no evidence of active exploitation - treat exploitation likelihood as unquantified rather than low. There is no public exploit identified at time of analysis. The real-world priority is moderate and highly conditional: it is only a concern for the specific subset of operators who run mpp as a gas sponsor, but for those operators the economic-DoS impact is direct and cheap for the attacker, making prompt patching worthwhile. The main uncertainty is the affected product's small deployment footprint, which limits aggregate risk despite the high per-instance severity.

Exploit ScenarioDerived

A server running mpp 0.2.0-0.5.x as a Tempo fee payer exposes its sponsored-payment endpoint to the network. An unauthenticated attacker crafts and signs a transferWithMemo (0x76) transaction with gas_limit set just below the amount needed to complete, submits it, and the server co-signs and broadcasts it; the transaction runs out of gas and reverts on-chain while the sponsor wallet is charged for the burned gas. Repeating this in a loop from one or more clients drains the fee-payer wallet at near-zero cost to the attacker until the server can no longer sponsor gas for legitimate users. No public exploit code is identified, but the attack requires only a standard signed EVM transaction with a deliberately low gas limit.

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

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

Alert me

AnalysisAIv1 – Jul 17, 2026

Wallet-draining denial of service in ZenHive mpp (Elixir library) versions 0.2.0 through 0.5.x affects deployments configured as a Tempo fee payer (fee_payer: true), where the MPP.Methods.Tempo method co-signs and broadcasts a client-supplied EVM transaction without verifying the client's gas_limit is high enough to complete execution. An unauthenticated remote client can submit a signed transferWithMemo transaction with gas_limit set just below the required amount, causing an on-chain out-of-gas revert that still charges the sponsor's fee-payer wallet while the attacker pays nothing. There is no public exploit identified at time of analysis and this is not on CISA KEV, but repeated low-cost requests can exhaust the sponsor wallet and stop the server from funding gas for legitimate payment requests.

RemediationAI

Upgrade mpp to 0.6.0 or later (Vendor-released patch: 0.6.0); the fix is in commit d84e3e528db39654540c2035ea0fbdf7b950d3d1, which adds pre-broadcast simulation of the full co-signed sponsored transaction via eth_simulateV1 on both the synchronous and optimistic paths so a transaction that would revert on-chain is rejected before the sponsor commits any gas, with graceful degradation if the node lacks eth_simulateV1 (JSON-RPC -32601) and fail-closed behavior on other RPC errors; note this release also advanced the onchain_tempo dependency to ~> 0.3 for the sender-recovery and simulate-request primitives. Operators upgrading should confirm their Tempo RPC endpoint supports eth_simulateV1 to get the protection rather than the graceful-degradation fallback. If immediate patching is not possible, the effective compensating control is to disable the fee-payer role (set fee_payer: false) so the server stops sponsoring client-supplied transactions - this fully removes the attack surface but also removes the gas-abstraction feature legitimate clients rely on; alternatively, restrict access to the fee-payer endpoint to trusted/authenticated clients and rate-limit sponsorship requests to slow wallet drainage, keeping the sponsor wallet funded with only a small working balance so a drain attempt is capped and alertable. See the advisory at https://github.com/ZenHive/mpp/security/advisories/GHSA-vj8p-hp9x-gh47.

Affected VersionsENISA

mpp d29d54e507918db00a5b65d90136b73166c017d7 <d84e3e528db39654540c2035ea0fbdf7b950d3d1
mpp 0.2.0 <0.6.0

Affected Packages

euvd mpp fix: 0.6.0

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

mpp is an Elixir library implementing the Meta Payment Protocol (MPP) for sponsored/gas-abstracted payments on the Tempo EVM chain, where the server acts as fee payer and co-signs client-originated transactions (the 0x76 / transferWithMemo envelope) before broadcasting them via rpc_broadcast_sync. The root cause is CWE-1284 (Improper Validation of Specified Quantity in Input): the server accepts the client-specified gas_limit at face value and never checks it is sufficient to complete the intended EVM call before committing sponsor funds. In Ethereum/EVM semantics, gas consumed up to the point of an out-of-gas revert is still deducted from the transaction's fee payer, so an underspecified gas_limit burns real value from the sponsor while producing no useful state change. The optimistic path (wait_for_confirmation = false) is also exposed because its simulate_payment_call uses eth_call without a gas parameter, so the simulation cannot reproduce or catch the out-of-gas condition. Affected products per CPE are cpe:2.3:a:zenhive:mpp:*.

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:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Unauthenticated network request to a sponsor endpoint (PR:N, AV:N, AC:L) causes only availability loss via wallet drain (A:H); no data confidentiality or integrity impact, and scope stays within the vulnerable server.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/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
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to drain the fee-payer wallet, resulting in denial of service for legitimate clients.

When the mpp Elixir library is configured as fee payer (fee_payer: true), the MPP.Methods.Tempo payment method co-signs and broadcasts a client-supplied EVM transaction without first validating that the client-supplied gas_limit is sufficient to complete the intended call. A malicious client can submit a signed transferWithMemo transaction with gas_limit deliberately set just below the amount required for successful execution. The server co-signs the transaction and broadcasts it via rpc_broadcast_sync. The transaction runs out of gas during EVM execution and reverts, but the fee-payer wallet is still charged for the burned gas while the client pays nothing and receives no resource. Repeated requests from one or more malicious clients drain the fee-payer wallet at near-zero cost to the attacker, ultimately preventing the server from sponsoring gas for legitimate payment requests.

The wait_for_confirmation = false (optimistic) path is also affected: it invokes simulate_payment_call via eth_call, but that simulation omits the gas parameter and therefore does not catch out-of-gas conditions.

This issue affects mpp: from 0.2.0 before 0.6.0.

Executive ViewAI

Why It Matters

ZenHive mpp (Elixir library) versions 0.2.0 through 0.5.x contain an unauthenticated wallet-draining denial-of-service vulnerability in fee-payer configurations. Attackers can repeatedly submit low-gas transactions that fail on-chain while the sponsor wallet absorbs all fees, systematically depleting organizational funds at minimal cost to the attacker. Organizations running affected versions face direct financial losses and operational disruption until patched.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Rare
niche Elixir gas-sponsorship SDK, tiny production footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.4%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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-73136 HIGH
8.2 Aug 19

Capture-replay authentication bypass in ZenHive mpp versions 0.6.1-0.6.3 allows unauthenticated network attackers to cla

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