CVEsopenvm-orgCVE-2026-62333Published Oct 30, 20:08 · Updated Oct 30, 20:08 UTC
8.7
HighCVSS 4.0 · from GitHub_M
CVE-2026-62333

OpenVM: MemoryMerkleAir allows below-leaf rows to alter memory roots

openvm · Improper input validation · CWE-20
Affectedopenvm
FixNo fix listed yet.
PublishedOct 30, 20:08 · GitHub_M
ScoredOct 30 · 8.7 · GitHub_M
Exploit code publicNone known · checked 21:18 UTC
ExploitedNone known · CISA KEV checked 22:04 UTC

What we know

No known exploitation. CISA KEV, checked 22:04 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 21:18 UTC.
An attacker only needs network access to the target. No login needed. CVSS: network, no privileges.
A successful attack can change data. CVSS impact.

Description

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.

From GitHub_M

Affected and fixed versions

ProductAffectedFixed inopenvm< 1.7.0–openvm>= 2.0.0-alpha, < 2.0.0-rc.3–openvm>= 2.1.0-dev.0, < 2.1.0-preview–

Exploit code

Exploit-DBnone knownMetasploitnone knownNucleinone known

References

github.com/openvm-org/openvm/security/advisories/GHSA-396x-v8w4-9x82 · github.comrefsource_CONFIRMgithub.com/openvm-org/openvm/pull/148 · github.comrefsource_MISCgithub.com/openvm-org/openvm/commit/bb123f6073691bd2b794171c594264c77e45c376 · github.comrefsource_MISCgithub.com/openvm-org/openvm/blob/v2.0.0-alpha/crates/vm/src/system/memory/merkle/air.rs · github.comrefsource_MISCgithub.com/openvm-org/openvm/blob/v2.0.0-beta.2/crates/vm/src/system/memory/merkle/air.rs · github.comrefsource_MISCgithub.com/openvm-org/openvm/blob/v2.1.0-dev.0/crates/vm/src/system/memory/merkle/air.rs · github.comrefsource_MISCgithub.com/openvm-org/openvm/releases/tag/v1.7.0 · github.comrefsource_MISCgithub.com/openvm-org/openvm/releases/tag/v2.0.0-rc.3 · github.comrefsource_MISCgithub.com/openvm-org/openvm/releases/tag/v2.1.0-preview · github.comrefsource_MISC

Other CVEs in openvm

All 4 →
8.7OpenVM's OpenVmHalo2Verifier self-call can bypass proof verification · CVE-2026-62334Oct 306.9OpenVM's OpenVmHalo2Verifier accepts non-canonical app commitments · CVE-2026-62335Oct 308.7`openvm-pairing` pairing check missing proper subfield check on scaling factor · CVE-2026-46669Jun 10