CVE-2026-59694: Unbounded access list in mpp Tempo fee-payer inflates gas cost per payment
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.
Security readout for executives and security teams
Plain-English summary
This flaw lets an unauthenticated client make a ZenHive mpp fee-payer service pay much higher blockchain gas fees for otherwise normal payments. The attacker does not need to steal funds directly; the business impact is margin loss and potential draining of the sponsor wallet over sustained abuse.
Executive priority
Prioritize remediation for any fee-sponsored payment service because abuse can convert normal transaction volume into direct operating losses. Treat as high urgency if a funded fee-payer wallet is internet-facing.
Technical view
In mpp versions 0.2.0 before 0.6.0, when fee_payer is enabled, cosign_fee_payer/3 re-signs client-supplied EIP-2930 access lists without validating length or contents. Intrinsic gas for fabricated access-list entries is charged before execution, inflating the fee-payer’s cost while the intended transfer still succeeds.
Likely exposure
Exposure is limited to deployments using ZenHive mpp versions 0.2.0 through before 0.6.0 with fee_payer: true and remote clients able to submit payments.
Exploitation context
The source bundle reports network, low-complexity, unauthenticated abuse with high integrity impact and low availability impact. CISA KEV is false, and the provided sources do not state active exploitation.
Researcher notes
The issue is an input quantity validation failure, CWE-1284. The advisory describes a default 137-entry access list fitting Bandit header limits and a 7.4x gas multiplier at 100 Gwei. Do not assume broader product impact beyond ZenHive mpp.
Mitigation direction
Upgrade ZenHive mpp to version 0.6.0 or later.
Review the vendor advisory and patch commit before deploying changes.
Disable fee_payer mode if not operationally required.
Monitor fee-payer wallets for abnormal gas cost increases.
Validation and detection
Inventory services using the ZenHive mpp Elixir library.
Confirm installed mpp versions are not 0.2.0 through before 0.6.0.
Check whether fee_payer: true is enabled in production configuration.
Review recent transactions for unusually large access lists or gas multipliers.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-1284: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-1284 · source CWE mapping
Improper Validation of Specified Quantity in Input
Improper Validation of Specified Quantity in Input represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.