Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect as unauthenticated remote client
-
DeliveryCraft valid transferWithMemo with 137 padded access-list entries
-
ExploitServer co-signs 0x76 envelope verbatim
-
ExecutionBroadcast inflated transaction on-chain
-
PersistFee-payer wallet pays 7.4x gas
-
ImpactSustained abuse drains sponsor wallet
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Input size validation
|
| Exploitation Conditions | Exploitation requires the mpp server to be deployed as fee payer (fee_payer: true), invoking MPP.Tempo.Transaction.cosign_fee_payer/3 to sponsor gas for Tempo transactions on affected versions 0.2.0 through 0.5.x. No authentication is required (PR:N) and the attacker is an ordinary remote client submitting a valid transferWithMemo transaction whose 0x76 AASigned envelope carries a large EIP-2930 access list (up to 137 entries within Bandit's 10,000-byte per-header-field limit). Limiting factors: the flaw is inert on deployments not acting as fee payer, has no effect on confidentiality or on the executed transfer itself, and its harm is economic and cumulative - a single transaction only costs the sponsor a multiple of one fee, so meaningful damage requires sustained repeated abuse. |
| Impact | This is a credible but bounded financial-abuse risk rather than a system-compromise flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L) correctly reflects network reachability, no privileges, and no confidentiality impact; the AT:P (attack requirement) captures the key precondition that the server must be running as fee payer. EPSS and KEV data were not provided, and no POC or active-exploitation signal is present, so this should be treated as no public exploit identified at time of analysis - targeted economic abuse, not mass exploitation. Note a modeling nuance to verify with the vendor: the real-world impact is financial/resource exhaustion (wallet draining), which maps more naturally to an availability/economic-DoS impact than to the integrity-high rating in the official CVSS 4.0 vector; the underlying transfer executes normally, so no data integrity is violated. Priority is high specifically for organizations running mpp as a gas sponsor on low-margin payments. |
| Exploit ScenarioDerived | A server operator runs mpp as a fee payer to sponsor gas for user payments. A malicious client submits a legitimate transferWithMemo call but pads the EIP-2930 access list with 137 fabricated address entries; the server co-signs and broadcasts it, and the transfer succeeds while the fee-payer wallet pays about 380,087 gas instead of ~51,287 (7.4x) at 100 Gwei. Repeating this at scale steadily erodes the sponsor's margin and drains the wallet; no public POC is identified, but the advisory documents exact parameters. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 17, 2026
Economic resource exhaustion in the ZenHive mpp Elixir library (versions 0.2.0 through 0.5.x) lets an unauthenticated remote client inflate a sponsoring fee-payer's gas cost per payment by roughly 7.4x, draining the sponsor wallet over sustained abuse. When deployed with fee_payer: true, MPP.Tempo.Transaction.cosign_fee_payer/3 re-signs client-supplied base fields of the 0x76 AASigned envelope verbatim - including an oversized EIP-2930 access list - without validating length or contents, so intrinsic gas is charged for fabricated entries that touch nothing on-chain. No public exploit identified at time of analysis, but the attack is fully detailed in the vendor advisory and fixed in 0.6.0.
RemediationAI
Upgrade to mpp 0.6.0, which is the vendor-released patch (commit 5d6338e2334084c5f2a78cfcca474830733ed7e8) that adds MPP.Methods.Tempo.FeePayerPolicy to validate the client-signed 0x76 envelope's gas economics before co-signing - bounding gas_limit, max_fee_per_gas, max_priority_fee_per_gas, and the total-fee budget, and rejecting non-empty access lists; the fix is safe-by-default so existing fee_payer: true deployments are protected without config changes, and it also closes the related unbounded-fee vector GHSA-vv77-66rf-pm86. If immediate upgrade is not possible, the most direct compensating control is to disable fee-payer sponsorship (set fee_payer: false), which eliminates the drain entirely but removes the gas-sponsorship feature; alternatively, front the endpoint with a proxy that rejects requests carrying a non-empty EIP-2930 access list or an oversized 0x76 header (the maintainer notes 137 entries fit within Bandit's 10,000-byte per-header-field limit, so tightening that limit reduces but does not eliminate the multiplier). See the advisory at https://github.com/ZenHive/mpp/security/advisories/GHSA-qpxh-ff8m-c62v. Note the separately tracked low-gas-limit revert vector (GHSA-vj8p-hp9x-gh47) is not addressed by this patch.
Affected VersionsENISA
Affected Packages
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
The affected component is the Tempo transaction-sponsorship path of the mpp Elixir library (cpe:2.3:a:zenhive:mpp), used to let a server pay gas on behalf of clients for account-abstraction-style payments. The vulnerability is CWE-1284 (Improper Validation of Specified Quantity in Input): the server co-signs the client's 0x76 AASigned envelope without bounding the EIP-2930 access list. EIP-2930 access lists charge intrinsic gas up front - about 2,400 gas per listed address and 1,900 gas per storage key - billed before any opcode runs and regardless of whether those addresses are ever accessed. Because cosign_fee_payer/3 trusts the client-signed base fields verbatim, an attacker's padded access list is paid for entirely by the fee-payer wallet.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
Unauthenticated network access to a fee-payer deployment (PR:N, AV:N, AC:L); no confidentiality or data-integrity impact; sustained gas/wallet drain is a resource-exhaustion availability impact (A:H).
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Improper Validation of Specified Quantity in Input in ZenHive mpp allows an unauthenticated remote client to inflate the fee-payer's gas cost per payment by a large multiplier, degrading the sponsor's operating margin.
When the mpp Elixir library is configured as fee payer (fee_payer: true), MPP.Tempo.Transaction.cosign_fee_payer/3 re-signs the client-supplied base fields of the 0x76 AASigned envelope verbatim, including the EIP-2930 access list, without validating its length or contents. EIP-2930 access list entries incur intrinsic gas (~2,400 gas per address, plus 1,900 gas per storage key) charged before any opcode executes, regardless of whether the listed addresses are ever touched. A malicious client submits a valid transferWithMemo call alongside a large number of fabricated access-list entries. The server co-signs and broadcasts the transaction. The intended transfer executes normally, but the fee-payer wallet pays a large multiple of the expected gas cost with no corresponding on-chain work.
At the maintainer's default of 137 access-list entries (fitting within Bandit's 10,000-byte per-header-field limit) and 100 Gwei max_fee_per_gas, per-payment gas cost rises from ~51,287 to ~380,087 gas, a 7.4x multiplier. Sustained abuse destroys the sponsor's operating margin on low-cost payments and, over time, drains the fee-payer wallet.
This issue affects mpp: from 0.2.0 before 0.6.0.
Executive ViewAI
ZenHive's mpp Elixir library (versions 0.2.0-0.5.x) contains a resource exhaustion vulnerability allowing unauthenticated remote attackers to inflate transaction processing costs by 7.4x, directly draining sponsor wallets through repeated abuse. Organizations using this library with fee-payer sponsorship enabled face uncontrolled cost escalation and operational disruption. No public exploit identified at time of analysis, though the vendor advisory documents the attack methodology in detail.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Missing validation of the EIP-7702 aa_authorization_list field in ZenHive mpp's Tempo payment sponsorship module allows
Gas-cost inflation and unauthorized access key provisioning in ZenHive mpp (versions 0.2.0 through 0.15.x) allows any un
Replay of settled EVM blockchain transaction hashes against ZenHive mpp versions 0.3.0-0.6.2 allows unauthenticated remo
Concurrent sponsored-payment flooding in ZenHive mpp (versions 0.2.0 through 0.12.0) allows an unauthenticated remote cl
Fee-payer wallet draining in ZenHive mpp (Elixir) 0.2.0-0.5.x lets an unauthenticated remote client empty the sponsor's
Capture-replay authentication bypass in ZenHive mpp versions 0.6.1-0.6.3 allows unauthenticated network attackers to cla
Wallet-draining denial of service in ZenHive mpp (Elixir library) versions 0.2.0 through 0.5.x affects deployments confi
Replay of a captured Tempo subscription credential in ZenHive mpp 0.14.0 through 0.16.1 lets an attacker who already hol
ZenHive mpp versions 0.14.0 through 0.16.1 fail to charge clients that hold an open payment channel, allowing an authent
Duplicate-submission gate bypass in the Tempo payment method of ZenHive mpp (versions 0.2.0 through 0.16.1) lets an unau
ZenHive mpp (MPP.Plug payment middleware for Elixir/Phoenix) versions 0.1.0 through 0.16.1 can allow a shared HTTP cache
Payment-replay protection in ZenHive mpp's Tempo hash-credential path is defeated by a TOCTOU race condition, allowing a
EUVD-2026-45159
GHSA-r4hx-mhrp-xf73
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB