Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
💧 Hex
Not in CISA KEV

mpp vulnerable to Gas Draining with no limitGHSA-vv77-66rf-pm86

Fix: ZenHive/mpp@5d6338e

GHSA-vv77-66rf-pm86 is a CWE-1284 vulnerability in mpp. A fix is available for mpp — see the affected versions and patch details below.

Also known asCVE-2026-59695EEF-CVE-2026-59695
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Oct 23, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

Proof-of-concept exploit code exists

  • CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
  • A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for GHSA-vv77-66rf-pm86.

EPSS Exploitation Probability

via FIRST.org ↗
0.5%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs44th percentile — riskier than 44% of all scored CVEsHighest risk
0.00%0.34%0.68%1.02%0.3%0.5%0.5%0.5%Aug 26Oct 26Oct 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

Real-World Exposure

1 pkg affected
💧mpp

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Hex packages — download data is not available via public APIs for these ecosystems.

Description

Details

When the server acts as the fee_payer, the mpp Elixir 0.4.0 does not validate gas_limit, max_fee_per_gas and max_priority_fee_per_gas before cosigning the client's fee-payer transaction. A malicious client embeds arbitrarily large max_fee_per_gas and max_priority_fee_per_gas values in the signed envelope. The server cosigns and broadcasts — paying those inflated gas costs from its own wallet based on the effective_gas_price calculated from the high max_fee_per_gas and max_priority_fee_per_gas set by the client.

Vulnerable function: cosign_fee_payer/3 in transaction.ex around lines 229–262.

PoC

The PoC is provided below. It is configured to reproduce the attack on Tempo Moderate testnet within a Docker environment. Download the PoC and run:

unzip mpp_elixir_PoC.zip
cd mpp_elixir
docker build -t mpp-elixir-gasdrain .
docker run --rm mpp-elixir-gasdrain

There are more details in mpp_elixir/README.md

Impact

By draining the server's wallet, an attacker causes direct financial loss to the organization. Furthermore, if the server's funds are drained completely, legitimate clients will have their requests fail, as the server can no longer fund future transactions, effectively creating a Denial of Service (DoS) attack.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
💧Hexmpp≥ 0.2.0&&< 0.6.00.6.0mix deps.update mpp

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for mpp, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update mpp to 0.6.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-vv77-66rf-pm86 is resolved across your whole dependency graph.

  3. Workarounds

    Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.

Frequently Asked Questions

### Details When the server acts as the fee_payer, the `mpp` Elixir 0.4.0 does not validate `gas_limit`, `max_fee_per_gas` and `max_priority_fee_per_gas` before cosigning the client's fee-payer transaction. A malicious client embeds arbitrarily large `max_fee_per_gas` and `max_priority_fee_per_gas` values in the signed envelope. The server cosigns and broadcasts — paying those inflated gas costs from its own wallet based on the `effective_gas_price` calculated from the high `max_fee_per_gas` and `max_priority_fee_per_gas` set by the client. **Vulnerable function:** `cosign_fee_payer/3` in [`t
O3 Security · Impact-Aware SCA

Is GHSA-vv77-66rf-pm86 in your dependencies?

Find it across Hex, including transitive dependencies.

mpp vulnerable to Gas Draining with no limit