Skip to main content

ZenHive mpp CVE-2026-88255

| EUVDEUVD-2026-80256 MEDIUM
Improper Validation of Unsafe Equivalence in Input (CWE-1289)
2026-09-16 EEF GHSA-p7v4-jpp9-2m3q
6.3
CVSS 4.0 · Vendor: EEF
Share

Severity by source

Vendor (EEF) PRIMARY
6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
3.7 LOW

Unauthenticated network submission (PR:N/AV:N), but successful double-receipt depends on specific node/backend behavior (AC:H); impact is a bounded integrity effect (I:L) with no confidentiality or availability loss.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Metadata Corrected
Sep 16, 2026 - 09:40 vuln.today
tag: Elixir added
Metadata Corrected
Sep 16, 2026 - 09:40 vuln.today
tag: Information Disclosure removed
Analysis Generated
Sep 16, 2026 - 09:10 vuln.today

DescriptionCVE.org

Improper Validation of Unsafe Equivalence in Input in ZenHive mpp allows an unauthenticated remote client to pass the Tempo duplicate-submission gate twice with one signed transaction.

MPP.Methods.Tempo reserves the pre-broadcast dedup slot on the caller-supplied hex in reserve_hash_atomic/2, keyed through store_key/1 on tx.raw rather than on a canonical form of the transaction. The deserializer stores the caller's hex verbatim and accepts both recovery-id encodings, so one signed transaction submitted once with v=27 and once with v=0 yields two distinct reserve keys, and both pass the reserve and reach the broadcast path. The plug-level credential replay store is deliberately carved out for tempo in lib/mpp/replay.ex, leaving this reserve as the only gate, and the post-broadcast mark writes the canonical hash key that the raw-keyed reserve never reads.

What the duplicate submission yields depends on the node: a nonce-reuse rejection fails closed, while a node that answers with the canonical hash for an already-known transaction returns a second valid Payment-Receipt for a single on-chain payment.

This issue affects mpp: from 0.2.0 before 0.16.2.

AnalysisAI

Duplicate-submission gate bypass in the Tempo payment method of ZenHive mpp (versions 0.2.0 through 0.16.1) lets an unauthenticated remote client pass the pre-broadcast dedup reservation twice using a single signed transaction - once with recovery id v=27 and once with v=0 - because the reserve key is derived from the caller-supplied raw transaction hex rather than a canonical form of the transaction. The post-broadcast mark then writes the canonical hash key that the raw-keyed reserve never reads, so the two encodings never collide. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Requires that the target deploys ZenHive mpp (0.2.0 to before 0.16.2) with the Tempo (MPP.Methods.Tempo) payment method reachable by remote clients, and that the credential replay store is carved out for Tempo (as it is by default in lib/mpp/replay.ex), leaving reserve_hash_atomic/2 as the only dedup gate. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment This is a genuine but moderate-severity logic flaw, not a critical one, and the multi-source signals agree on that. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Vendor-released patch: upgrade to ZenHive mpp 0.16.2 or later, which reworks the Tempo Store dedup semantics and canonical keying (fix references https://github.com/ZenHive/mpp/commit/e12bd4a1cea2e97c2a01fc059c48e5594a7b4a43 and https://github.com/ZenHive/mpp/commit/f8904666061fbab695874856d8fcd02c471dfe1b, alongside advisory https://github.com/ZenHive/mpp/security/advisories/GHSA-8x7x-5j8g-8hcx); depending on how you resolve dependencies, pin the mix dependency to "~> 0.16.2" and confirm the running release reports 0.16.2 via Application.spec/2. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-88255 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy