Skip to main content

OpenVM EUVDEUVD-2026-114442

| CVE-2026-62333 HIGH
Improper Input Validation (CWE-20)
2026-10-30 security-advisories@github.com
8.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Act as untrusted OpenVM prover
  2. Delivery
    Craft trace with expansion row at parent_height=0
  3. Exploit
    Fabricate subtree below memory leaf
  4. Execution
    Swap digests to alter committed root
  5. Impact
    Produce verifying proof of false memory state

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires the attacker to control proof generation (act as a malicious prover) in an OpenVM-based system, and applies only to proofs that use persistent memory, since the memory Merkle root binds VM memory state across continuation segment boundaries. The concrete trigger is a Merkle expansion row set with parent_height = 0 (or below) while expand_direction != 0, which pre-fix code failed to forbid, allowing a fabricated below-leaf subtree whose digest swaps change the committed root with no memory-bus operation. Affected code paths are OpenVM before 1.7.0 in the 1.x line and the affected 2.0 and 2.1 prereleases; deployments not using persistent memory, or already on 1.7.0 / 2.0.0-rc.3 / 2.1.0-preview or later, are not exploitable. Updating to a fixed version is the remediation stated by the vendor.

Impact

This is a zero-knowledge proof soundness flaw, and the available signals point to a genuine but scoped priority rather than a mass-exploitation emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) scores 8.7 and is driven entirely by integrity: VI:H with VC:N and VA:N, consistent with a bug that forges the committed memory root without leaking data or affecting availability. The vuln.today decision label is 'this_week' (not act_now/emergency). No EPSS probability and no CISA KEV status were provided, so there is no evidence of active or widespread exploitation; the absence of EPSS/KEV should not be read as a clean bill of health, only as missing signals. A public counterexample demonstrating the attack ships in the fix commit's test suite (build_below_leaf_swap_subtree), so exploitability is well-understood even without a weaponized exploit. The real caveat is reachability: this is a malicious-prover soundness break, so the 'attacker' must control proof generation, and only OpenVM deployments using persistent memory across continuation segment boundaries are affected. For those users this undermines the core trust guarantee of their proofs and is high priority; for the broader population it is low-footprint. The 'Information Disclosure' tag conflicts with the integrity-only impact and appears mislabeled.

Exploit ScenarioDerived

An attacker acting as the prover in an OpenVM system that uses persistent memory crafts a malicious execution trace placing a Merkle expansion row at parent_height = 0 while expand_direction != 0, fabricating a subtree below a memory leaf and swapping digests to commit a different memory root with no corresponding memory-bus operation. The forged rows still balance against the Merkle and compression buses, so the resulting proof verifies and convinces a verifier of a false memory state across continuation segments. A public PoC reference exists as a counterexample test in the fix commit; it is not verified as a standalone working exploit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Proof soundness in OpenVM before 1.7.0, and in affected 2.0 and 2.1 prereleases, can be undermined by a malicious prover who fabricates Merkle expansion rows at or below the leaf layer, allowing the committed memory root to be changed without a matching memory operation. The flaw affects proofs that use persistent memory across continuation segment boundaries; deployments not using persistent memory or running fixed releases 1.7.0, 2.0.0-rc.3, or 2.1.0-preview are not exploitable. Exploitation requires control of proof generation, no public exploit was identified at time of analysis, and the available priority signals point to a genuine but scoped issue rather than mass exploitation.

RemediationAI

Vendor-released patch: update to OpenVM 1.7.0 for the 1.x line, 2.0.0-rc.3 for 2.0 prereleases, or 2.1.0-preview for 2.1 prereleases; the vendor advisory states that updating to a fixed version is the remediation. For deployments that cannot update, the independent assessment notes that only proofs using persistent memory are exposed, so disabling persistent memory across continuation segment boundaries avoids the vulnerable soundness dependency, at the cost of losing that feature. Because exploitation requires the attacker to control proof generation, restricting proof generation to trusted provers or refusing proofs from untrusted provers reduces exposure, but it changes the trust model and is not a substitute for the patch. See the GitHub security advisory https://github.com/openvm-org/openvm/security/advisories/GHSA-396x-v8w4-9x82 and release tags https://github.com/openvm-org/openvm/releases/tag/v1.7.0, https://github.com/openvm-org/openvm/releases/tag/v2.0.0-rc.3, and https://github.com/openvm-org/openvm/releases/tag/v2.1.0-preview.

Affected VersionsENISA

openvm 2.1.0-dev.0, < 2.1.0-preview
openvm 2.0.0-alpha, < 2.0.0-rc.3
openvm < 1.7.0

Affected Packages

euvd openvm fix: 1.7.0, 2.0.0-rc.3, 2.1.0-preview

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenVM is a zkVM framework whose MemoryMerkleAir circuit enforces Merkle tree expansion rows and balances them against the Merkle and compression buses; the memory Merkle root binds VM memory state across continuation segment boundaries. The root cause is missing validation in that AIR: pre-fix code did not forbid an expansion row at parent_height = 0 or below while expand_direction != 0, so a malicious prover could place an active expansion row at the leaf layer, fabricate a subtree below the leaf, swap digests inside it, and alter the committed root without a memory-bus operation for the changed leaf. The fix adds a parent_height_inv column and constrains parent_height * parent_height_inv = 1 whenever expand_direction != 0, rejecting active expansion rows at or below the leaf layer; the commit also updates the CUDA trace generator and adds counterexample tests. This is classed as CWE-20 improper input validation or constraint enforcement; the supplied tags label it Information Disclosure, while the advisory and independent assessment characterize it as a proof soundness and integrity flaw. The CVSS 4.0 vector is AV:N/AC:L/AT:N/PR:N/UI:N with VI:H, and the independent CVSS 3.1 assessment is AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N. No CPE strings were provided in the input, and affected code paths are the OpenVM memory Merkle AIR in versions before 1.7.0 in the 1.x line and the affected 2.0 and 2.1 prereleases.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

An untrusted prover needs no privileges (PR:N) and the forged proof is network-deliverable (AV:N/AC:L); impact is integrity-only forgery of the memory root (I:H), with no confidentiality or availability impact.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 22:03 EUVD
CVE Published
Oct 30, 2026 - 20:17 cve.org
HIGH 8.7

DescriptionCVE.org

OpenVM is a performant and modular zkVM framework built for customization and extensibility. Before 1.7.0 in the 1.x line and in affected 2.0 and 2.1 prereleases, MemoryMerkleAir does not forbid Merkle expansion rows at parent_height = 0 or below while expand_direction != 0. A malicious prover can fabricate a subtree below a memory leaf and swap digests inside that subtree to change the committed memory root without a corresponding memory operation. The fraudulent rows still balance against the Merkle and compression buses and require no memory-bus operation for the changed leaf. Because the memory Merkle root binds VM memory state across continuation segment boundaries, this affects the soundness of OpenVM proofs using persistent memory. This issue is fixed in versions 1.7.0, 2.0.0-rc.3 and 2.1.0-preview.

Technical POC Analysis

CWE-20 (Improper Input Validation) at the circuit-constraint layer: MemoryMerkleAir in the openvm-circuit crate under-constrains the relationship between parentheight and expanddirection.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A soundness flaw in OpenVM's proof system (CVE-2026-62333) lets a malicious prover forge memory roots across continuation segments, undermining the integrity of zero-knowledge proofs for applications using persistent memory. Leadership should care because proof-based assurances-critical in blockchain, privacy, and verifiable compute-can be invalidated, eroding trust and potentially triggering compliance and reputational fallout, though exploitation requires controlling proof generation and no active exploitation is confirmed.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
niche zkVM proving framework, specialized and limited deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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