{"id":"CVE-2026-62335","aliases":[],"cve":{"records":[{"id":"CVE-2026-62335","source":"GitHub_M","state":"PUBLISHED","reasons":[],"replacements":[],"disputed":false,"unsupportedWhenAssigned":false,"reserved":"2026-07-13T21:42:50.094Z","published":"2026-10-30T20:03:14.543Z","modified":"2026-10-30T20:03:14.543Z"}],"publishers":[{"name":"GitHub_M","role":"CNA","organizationId":"a0819718-46f1-4df5-94e2-005712e83aaa","modified":"2026-10-30T20:03:14.543Z"}],"references":[{"url":"https://github.com/openvm-org/openvm/security/advisories/GHSA-w82q-w67c-67wv","tags":["x_refsource_CONFIRM"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/pull/152","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/commit/1962276254aabc5420de266a8cb672433ce955ff","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/blob/v2.0.0-alpha/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/blob/v2.0.0-beta.2/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/blob/v2.1.0-dev.0/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/releases/tag/v1.7.0","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/releases/tag/v2.0.0-rc.3","tags":["x_refsource_MISC"],"source":"GitHub_M"},{"url":"https://github.com/openvm-org/openvm/releases/tag/v2.1.0-preview","tags":["x_refsource_MISC"],"source":"GitHub_M"}],"weaknesses":[{"id":"CWE-20","description":"CWE-20: Improper Input Validation","source":"GitHub_M"}],"applicability":[],"prioritization":[]},"title":"OpenVM's OpenVmHalo2Verifier accepts non-canonical app commitments","titleSource":"GitHub_M","descriptionSource":"GitHub_M","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, `OpenVmHalo2Verifier.verify` accepts `appExeCommit` and `appVmCommit` as `bytes32` values without checking that either is less than the `BN254` scalar field modulus. Although public-value and proof-data lengths are checked, callers can provide non-canonical 256-bit encodings greater than or equal to that modulus at the Solidity wrapper boundary. Applications relying on the wrapper can therefore accept non-canonical app executable and app VM commitments, creating ambiguity between the supplied byte-level values and the field elements used by the verifier. This issue is fixed in versions 1.7.0, 2.0.0-rc.3 and 2.1.0-preview.","score":6.9,"severity":"medium","published":"2026-10-30T20:03:14.543Z","modified":"2026-10-30T20:03:14.543Z","withdrawn":false,"knownExploited":false,"affected":[],"products":[{"vendor":"openvm-org","name":"openvm","platforms":[],"versions":[{"version":"< 1.7.0","status":"affected"},{"version":">= 2.0.0-alpha, < 2.0.0-rc.3","status":"affected"},{"version":">= 2.1.0-dev.0, < 2.1.0-preview","status":"affected"}],"cpes":[],"source":"GitHub_M","url":"https://www.cve.org/CVERecord?id=CVE-2026-62335"}],"remediation":[],"references":["https://github.com/openvm-org/openvm/security/advisories/GHSA-w82q-w67c-67wv","https://github.com/openvm-org/openvm/pull/152","https://github.com/openvm-org/openvm/commit/1962276254aabc5420de266a8cb672433ce955ff","https://github.com/openvm-org/openvm/blob/v2.0.0-alpha/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","https://github.com/openvm-org/openvm/blob/v2.0.0-beta.2/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","https://github.com/openvm-org/openvm/blob/v2.1.0-dev.0/crates/sdk/contracts/template/OpenVmHalo2Verifier.sol","https://github.com/openvm-org/openvm/releases/tag/v1.7.0","https://github.com/openvm-org/openvm/releases/tag/v2.0.0-rc.3","https://github.com/openvm-org/openvm/releases/tag/v2.1.0-preview"],"sources":[{"name":"CVE","id":"CVE-2026-62335","modified":"2026-10-30T20:03:14.543Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-62335"}],"assessments":[{"source":"GitHub_M","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","score":6.9}],"sourceAffected":[],"observedAt":"2026-10-30T20:23:01.700Z","kev":{"status":"not-listed","checkedAt":"2026-10-31T09:10:30.844Z"},"coverage":[{"source":"NVD","status":"available","checkedAt":"2026-10-30T20:35:39.000Z","attemptedAt":"2026-10-30T20:35:39.000Z"},{"source":"GHSA","status":"no-result","checkedAt":"2026-10-30T20:35:38.857Z","attemptedAt":"2026-10-30T20:35:38.857Z"},{"source":"EUVD","status":"no-result","checkedAt":"2026-10-30T20:35:38.745Z","attemptedAt":"2026-10-30T20:35:38.745Z"},{"source":"EPSS","status":"no-result","checkedAt":"2026-10-30T20:35:38.838Z","attemptedAt":"2026-10-30T20:35:38.838Z"}],"evidence":[{"source":"NVD","id":"CVE-2026-62335","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-62335","modified":"2026-10-30T20:17:12.640","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/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","checkedAt":"2026-10-30T20:35:39.000Z"}],"aiSummary":{"text":"OpenVM's OpenVmHalo2Verifier accepts non-canonical app commitments in versions before 1.7.0, 2.0.0-rc.3, and 2.1.0-preview, due to improper input validation. This creates ambiguity between supplied byte-level values and field elements used by the verifier. An attacker with access to the Solidity wrapper can provide non-canonical 256-bit encodings.","model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","generatedAt":"2026-10-31T07:06:24.749Z","sources":[{"name":"CVE","url":"https://www.cve.org/CVERecord?id=CVE-2026-62335"}]}}