Tempo fee sponsorship in mpp bounds each transaction but not aggregate exposure, allowing concurrent sponsor-wallet drain
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| ZenHive | mpp | unaffected |
|
||||||
| ZenHive | mpp | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Zenhive | Mpp |
|
||||||||
| Zenhive | Mpp |
|
Vendor Workaround
Disable Tempo fee sponsorship by setting "fee_payer" => false (the default), so the client pays its own gas and the sponsor wallet is never committed. Where sponsorship must stay enabled, lowering max_total_fee and max_validity_window_seconds reduces the exposure each concurrent request can commit and how long it stays outstanding, without bounding the aggregate.
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.589% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Zenhive machine Payments Protocol
|
|
| CPEs | cpe:2.3:a:zenhive:machine_payments_protocol:*:*:*:*:*:elixir:*:* | |
| Vendors & Products |
Zenhive machine Payments Protocol
|
|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Zenhive
Zenhive mpp |
|
| Vendors & Products |
Zenhive
Zenhive mpp |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Tempo fee sponsorship in mpp bounds each transaction but not aggregate exposure, allowing concurrent sponsor-wallet drain | |
| First Time appeared |
Zenhive
Zenhive mpp |
|
| Weaknesses | CWE-770 | |
| CPEs | cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Zenhive
Zenhive mpp |
|
| References |
| |
| Metrics |
cvssV4_0
|