Skip to main content

ZenHive mpp CVE-2026-82751

| EUVDEUVD-2026-72147 HIGH
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-09-06 EEF GHSA-6fjm-7mv9-c325
8.3
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Recon
    Identify Tempo sponsor endpoint running mpp < 0.16.1
  2. Delivery
    Craft 0x76 envelope with embedded key_authorization (one key, N token limits)
  3. Exploit
    Submit envelope to sponsor
  4. Install
    FeePayerPolicy validates gas/fee/access-list but skips key_authorization
  5. C2
    Server co-signs and broadcasts transaction
  6. Execute
    Sponsor pays ~39x expected intrinsic gas
  7. Impact
    Attacker retains provisioned access key at zero cost

Vulnerability Assessment

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

The server must be deployed and actively operating as a Tempo payment sponsor using MPP.Methods.Tempo.FeePayerPolicy, which is the specific subsystem that lacks key_authorization validation. No client authentication is required; any network-reachable client can submit a 0x76 envelope to the sponsor endpoint. The inflated gas cost scales with the number of key entries and token limit entries the attacker embeds - bounded only by the sponsor's configured max_gas ceiling. Exploitation is limited to mpp versions 0.2.0 through 0.16.0; mpp deployments not sponsoring Tempo payments are not exposed. The attacker must have basic knowledge of the Tempo 0x76 transaction envelope format to craft the malicious payload.

Impact

The CVSS 4.0 base score of 8.3 is grounded in a realistic vector: AV:N (network-accessible sponsor endpoint), AC:L (protocol is well-documented), AT:P (specific attack prerequisite - the server must be operating as a Tempo payment sponsor), PR:N (no client authentication), VI:H (financial integrity violation), VA:L (sponsor gas budget can be systematically drained). The AT:P attack prerequisite meaningfully limits the exposed population to deployed Tempo sponsor services, which is a niche segment even within the already-low-prevalence mpp ecosystem. There is no KEV listing and no separate POC repository, though the description supplies exact reproduction parameters (one key, three token limits, observed gas figures), making independent reproduction straightforward for anyone familiar with the Tempo protocol. The dual impact - financial drain on the sponsor and a permanently provisioned free access key for the attacker - elevates real-world impact beyond a simple DoS, as the access key represents a persistent artifact the attacker retains after the attack. No conflicting signals are present; CVSS vector and description are consistent.

Exploit ScenarioDerived

An attacker who knows a Tempo sponsor endpoint is running a vulnerable mpp version constructs a 0x76 payment envelope embedding a fully signed key_authorization payload containing one access key and three token spending limits. When the attacker submits this envelope, the FeePayerPolicy validates gas, fee budget, and access list as normal but silently passes the key_authorization through, causing the server to co-sign and the sponsor to pay approximately 1,808,700 gas - roughly 39 times the expected cost - while the attacker's account is permanently provisioned with a new access key at no cost to the attacker.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 06, 2026

Gas-cost inflation and unauthorized access key provisioning in ZenHive mpp (versions 0.2.0 through 0.15.x) allows any unauthenticated remote client to attach a fully signed key_authorization payload to a Tempo 0x76 payment envelope, forcing the fee sponsor to pay for persistent blockchain storage writes the client itself initiated. At the reporter's default test case of one access key with three token spending limits, the sponsor's gas cost rises from roughly 46,587 to roughly 1,808,700 gas - approximately a 39x multiplier - while the client retains a valid access key it paid nothing for. No public exploit has been identified at time of analysis, but the vulnerability is well-specified and trivially reproducible given knowledge of the Tempo protocol.

RemediationAI

Upgrade mpp to version 0.16.1 or later, which introduces two new validation guards in FeePayerPolicy: check_authorization_list/1 (rejects any EIP-7702 authorization list entry) and check_key_authorization/2 (rejects any key_authorization field unless the server explicitly pinned one via expect_key_authorization/2). The fix commit is 0482572b47e1ffe1537ab80ab613d47b92833c2d, referenced in the vendor advisory at https://github.com/ZenHive/mpp/security/advisories/GHSA-rpwj-vrf7-4x36. If immediate upgrade is not possible, operators can reduce blast radius by lowering the max_gas ceiling in their FeePayerPolicy configuration to a tight bound just sufficient for expected payment calls (e.g., 60,000-70,000 gas), which caps the multiplier attackers can achieve; this does not eliminate the attack but limits the financial and storage damage per request. Rate-limiting sponsored payment endpoints at the network or application layer provides an additional compensating control against sustained budget drainage.

Affected VersionsENISA

mpp 0.2.0 <0.16.1
mpp d29d54e507918db00a5b65d90136b73166c017d7 <0482572b47e1ffe1537ab80ab613d47b92833c2d

Affected Packages

euvd mpp fix: 0.16.1

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 library implementing a Meta-Payment Protocol for sponsored Tempo blockchain transactions. In the Tempo model, a server-side fee payer co-signs a client-submitted 0x76 transaction envelope after verifying it falls within configured spending bounds. The policy enforcement occurs in MPP.Methods.Tempo.FeePayerPolicy.measure/3 (lib/mpp/methods/tempo/fee_payer_policy.ex), which checked gas fields, fee budget, validity window, per-call value, calldata canonicality, and access list - but omitted validation of the optional key_authorization field and the EIP-7702 authorization list. The key_authorization field, when present, provisions a new access key with token spending limits on the submitter's own account; each key entry and each token limit entry are persistent storage writes charged as intrinsic gas. CWE-1284 (Improper Validation of Specified Quantity in Input) applies: the server accepted unbounded intrinsic-gas payloads that should have been capped or rejected outright. The fix (commit 0482572b) adds check_authorization_list/1 and check_key_authorization/2 guards that require the authorization list to be empty and the key_authorization field to be absent unless the server itself pinned one via expect_key_authorization/2.

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.3 HIGH
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
vuln.today AI 8.2 HIGH

Network-reachable, no auth required, no user interaction; integrity is high (sponsor pays unauthorized gas, attacker gets free access key); availability low (budget drain possible but not full outage).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/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
Low
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 inflate the fee-payer's gas cost per sponsored payment by a large multiplier and to have the sponsor pay for provisioning an access key on the client's own account.

When the server sponsors Tempo payments, MPP.Methods.Tempo.FeePayerPolicy.measure/3 in lib/mpp/methods/tempo/fee_payer_policy.ex bounds the gas fields, the fee budget, the validity window and the access list of the client-signed 0x76 envelope, but does not check whether the envelope carries the optional key_authorization field. A client can attach a fully signed key authorization, provisioning a new access key with token spending limits on its own account, alongside the normal payment call. The key and each limit entry are persistent storage writes billed as intrinsic gas to the sponsor, bounded only by the gas_limit ceiling. At the reporter's default of one key with three token limits the sponsored cost rises from about 46,587 gas to about 1,808,700 gas, and the client keeps a valid access key it paid nothing for.

This issue affects mpp: from 0.2.0 before 0.16.1.

Technical POC Analysis

The advisory classifies this as CWE-1284, but the concrete defect is a missing bound on an optional signed envelope field, located in lib/mpp/methods/tempo/feepayerpolicy.ex in MPP.Methods.Tempo.FeeP…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

ZenHive mpp versions 0.2.0 through 0.15.x permit unauthenticated remote attackers to provision unauthorized access keys, forcing transaction fee sponsors to pay up to 39 times normal blockchain costs for operations they did not authorize. Affected organizations face immediate and measurable financial exposure until patched.

Business Impact: High
Compensating Controls

Apply vendor patch. While patch deployment is in progress, implement rate-limiting on key provisioning endpoints and establish real-time monitoring of gas costs per transaction to detect spikes 30x above baseline.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Rare
niche Elixir blockchain payment middleware, small deployment base
Social Media
2
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 Yes
EPSS 0.3%
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

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-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-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