Read the docs
TI-2026-59483 Aliases CVE-2026-87119GHSA-h97r-55w6-6rfg

Authentication bypass by capture-replay in ZenHive mpp

Priority LOW 36CWE-294Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Attack requirements
Present
Impact type
Security bypass
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-294.

Summary

Authentication Bypass by Capture-replay in ZenHive mpp allows an attacker holding a captured subscription activation credential to charge the payer repeatedly. The payer signs a Tempo KeyAuthorization over the chain id, key type, key id, expiry, limits and scopes only, with nothing tying it to the challenge that prompted it. MPP.Methods.Tempo.KeyAuthorization.verify/3 in lib/mpp/methods/tempo/key_authorization.ex pins each of those signed fields against the subscription request, and the access key it pins is a static per-endpoint server key, so one signed authorization verifies against every challenge the server issues for the same subscription terms. MPP.Methods.Tempo.Subscription.activate/4 deduplicates activations by challenge id, so presenting the captured credential under a fresh challenge produces a different dedup key, claim_activation succeeds, and the subscription transaction is built and broadcast again. Each replay charges the payer's wallet a new first-period settlement and re-authorizes the server key, bounded only by the subscription expiry and the chain's own semantics for re-installing an existing key. This issue affects mpp: from 0.14.0 before 0.16.2.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00574 47th percentileScored 2026-11-07
Fix Fixed mpp (ZenHive): 0.16.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ZenHivempp0.14.0 to before 0.16.20.16.2Patch availableCNA
  • mpp VendorZenHive Affected 0.14.0 to before 0.16.2 Fixed in 0.16.2 Patch available CNA

CPE names CNA · 1

CPEVersionsRoleVendor
cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:*———
  • cpe:2.3:a:ZenHive:mpp:*:*:*:*:*:*:*:* Versions — — ·—

Remediation

  • Fix · CNA mpp (ZenHive) Fixed in 0.16.2

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    ZenHive mpp 0.16.2

    2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-60473 Session voucher adding no new funds is accepted without a charge in mpp, serving paid resources for freePriority MEDIUM 64

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-87119
  2. 2026-10-03 Alias added: GHSA-h97r-55w6-6rfg

References

  • TI-2026-42571 Unbounded max_fee_per_gas in mpp Tempo fee-payer enables single-request wallet drain CVSS 4.0HIGH 8.3
  • TI-2026-42570 Unbounded access list in mpp Tempo fee-payer inflates gas cost per payment CVSS 4.0HIGH 8.3
  • TI-2026-42392 Missing gas_limit validation in mpp Tempo fee-payer enables wallet drain CVSS 4.0HIGH 8.2
  • TI-2026-60473 Session voucher adding no new funds is accepted without a charge in mpp, serving paid resources for free CVSS 4.0HIGH 7.1
  • TI-2026-47746 On-chain transfer proof is not single-use in mpp EVM payment method, enabling cross-challenge replay CVSS 4.0HIGH 8.7
  • TI-2026-51635 Resource allocation without limits in ZenHive mpp CVSS 4.0HIGH 8.3
See all 12 →

Sources