---
id: CVE-2026-73541
title: >-
  Allocation of Resources Without Limits or Throttling in ZenHive mpp allows an
  unauthenticated remote client to drain the fee-payer wallet through concurrent
  sponsored payments, denying service to legitimate payers once it is empty.


  MPP.…
summary: >-
  Allocation of Resources Without Limits or Throttling in ZenHive mpp allows an
  unauthenticated remote client to drain the fee-payer wallet through concurrent
  sponsored payments, denying service to legitimate payers once it is empty.


  MPP.…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H'
cwe:
  - CWE-770
vendor: zenhive
product: machine_payments_protocol
affected:
  - 'machine_payments_protocol >= 0.2.0, < 0.12.0'
patched:
  - machine_payments_protocol 0.12.0
published: '2026-08-19'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T18:24:36.653'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-73541'
references:
  - url: 'https://cna.erlef.org/cves/CVE-2026-73541.html'
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: >-
      https://github.com/ZenHive/mpp/commit/ddc46868fba57ccebb567c04709812b466123076
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: 'https://github.com/ZenHive/mpp/security/advisories/GHSA-j4j7-7xpr-c7cr'
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: 'https://osv.dev/vulnerability/EEF-CVE-2026-73541'
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
tags:
  - nvd
epss: 0.00589
epssPercentile: 0.4578
ingestedAt: '2026-09-10T19:03:26.846Z'
---

## Overview

Allocation of Resources Without Limits or Throttling in ZenHive mpp allows an unauthenticated remote client to drain the fee-payer wallet through concurrent sponsored payments, denying service to legitimate payers once it is empty.

MPP.Methods.Tempo.FeePayerPolicy enforces its ceilings (max_gas, max_fee_per_gas, max_priority_fee_per_gas, the worst-case gas_limit * max_fee_per_gas <= max_total_fee budget cap, and a validity window) against one transaction at a time, and nothing accounts for exposure across concurrent requests. reserve_hash_atomic/2 is keyed on the transaction hash, so it prevents duplicate broadcast of the same signed transaction but not N distinct sponsored transactions carrying distinct expiring nonces. Committed sponsor exposure is therefore N times max_total_fee, bounded by nothing in the library, and the default 900 second validity window lets co-signed transactions stay broadcastable and uncounted for that entire period.

This issue affects mpp: from 0.2.0 before 0.12.0.

## Affected

- `machine_payments_protocol >= 0.2.0, < 0.12.0`

## Remediation

Upgrade past the affected range:

- `machine_payments_protocol 0.12.0`
