Summary
CVE-2026-82751 is an improper input validation vulnerability (CWE-1284) in ZenHive’s mpp library — an Elixir implementation of the Machine Payments Protocol (MPP) used as HTTP 402 payment middleware for AI agents and machine-to-machine commerce. When a server operates as a Tempo fee-payer sponsor, an unauthenticated remote attacker can attach a signed key_authorization field to a payment envelope that the server’s fee policy fails to validate, inflating sponsored gas costs by roughly 39x (from ~46,587 gas to ~1,808,700 gas) and provisioning free, attacker-controlled access keys at the sponsor’s expense. The flaw carries a CVSS score of 8.3 (High) and affects only deployments that have explicitly enabled fee-payer sponsorship.
Technical details
- Root cause:
MPP.Methods.Tempo.FeePayerPolicy.measure/3validates gas limits (≤2,000,000) and max fees (≤100 Gwei) on sponsored Tempo transactions, but does not validate the optionalkey_authorizationfield carried in the payment envelope. - Trigger conditions: The target server must have Tempo fee-payer sponsorship enabled (
"fee_payer" => true); this is not the default configuration. - Attack vector: Network-based, unauthenticated. An attacker submits a payment request with a fully-signed key authorization attached, which passes existing gas/fee policy bounds while still enabling additional, unvalidated on-chain operations.
- Impact: The sponsoring server pays substantially inflated gas costs (integrity impact: high) and the attacker is issued new access keys with token spending limits, which can be reused for future transactions. Confidentiality is not affected; availability impact is low (increased cost/resource drain rather than outright denial of service).
Affected software
- ZenHive
mpp(Hex package / GitHub repository), versions 0.2.0 up to and including 0.16.0 - Fixed in version 0.16.1
- Only affects deployments with Tempo fee-payer sponsorship explicitly enabled
Severity
- CVSS v4.0 Base Score: 8.3 (High)
- Vector:
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
Mitigation and recommended actions
- Immediate: Upgrade
mppto version 0.16.1 or later, which validates thekey_authorizationfield in the fee-payer policy. - If unable to patch immediately:
- Disable Tempo fee-payer sponsorship (
"fee_payer" => false), which is the library’s default setting and fully prevents exploitation. - If sponsorship must remain enabled, reduce the
max_gaslimit in the fee-payer policy configuration (e.g., to approximately 50,000 gas for legitimate transfer use cases) to constrain the attacker’s ability to inflate sponsored costs.
- Disable Tempo fee-payer sponsorship (

