CVE-2026-62337 in snark-verifierinfo

Summary

by MITRE • 10/30/2026

SNARK Verifier is a generic (S)NARK verifier. Prior to 0.2.5, the Halo 2 aggregation circuit can mishandle proof points encoded as the point at infinity. `EcPointLoader::multi_scalar_multiplication` places a `Value::Assigned(_)` base paired with `Value::Constant(ONE)` into its unscaled variable-base list and passes it directly to `sum_with_const`. The default shim delegates to halo2-lib `EccChip::sum`, whose incomplete affine addition assumes nonidentity input points. A prover-controlled proof point encoded as `(0, 0)` can therefore enter the final aggregation sum through the scalar-one shortcut and affect the MSM or accumulator computation. Practical exploitability depends on the surrounding aggregation and final-decider checks; the advisory does not establish universal acceptance of invalid proofs. This issue is fixed in version 0.2.5.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/30/2026

The vulnerability resides within the SNARK Verifier library, specifically affecting the Halo 2 aggregation circuit prior to version 0.2.5. As a generic verifier for Succinct Non-interactive Arguments of Knowledge, this component is responsible for validating cryptographic proofs that assert the correctness of computational statements without revealing underlying data. The core technical flaw involves the mishandling of proof points encoded as the point at infinity, which in elliptic curve arithmetic represents the identity element and typically requires special handling to avoid undefined behavior or incorrect mathematical results. In standard implementations, operations involving the point at infinity must be explicitly checked for before proceeding with affine coordinate calculations that assume finite, non-identity points.

The specific failure occurs within the `EcPointLoader::multi_scalar_multiplication` function when processing aggregated proofs. The code incorrectly places a base value paired with a constant scalar of one into its unscaled variable-base list and passes this pair directly to an internal summation routine called `sum_with_const`. This logic relies on a shortcut optimization intended for efficiency, but it fails to account for the geometric properties of elliptic curves where adding the identity element should result in no change to the accumulator. By bypassing standard validation checks for infinity points, the system allows these invalid inputs to proceed into the final aggregation sum without proper normalization or rejection.

This flaw is further exacerbated by a dependency on `halo2-lib`, specifically its `EccChip::sum` implementation. The default shim delegates to this library function, which performs incomplete affine addition operations that assume all input points are non-identity elements in affine coordinates. When an attacker provides a prover-controlled proof point encoded as the zero coordinate pair `(0, 0)`, representing the point at infinity, it enters the final aggregation sum through the aforementioned scalar-one shortcut. This allows the malicious or malformed data to influence the Multi-Scalar Multiplication (MSM) calculation and the subsequent accumulator computation, potentially leading to incorrect verification outcomes if not caught by higher-level checks.

The operational impact of this vulnerability is nuanced because its practical exploitability depends heavily on the surrounding aggregation logic and final-decider checks implemented in specific applications using SNARK Verifier. While the advisory notes that it does not establish universal acceptance of invalid proofs across all use cases, the underlying cryptographic weakness remains significant for systems relying solely on this library's default behavior without additional external validation layers. An attacker could potentially craft malicious proof structures to manipulate verification results or cause denial-of-service conditions through computational anomalies if the surrounding context lacks robust sanity checks against identity elements in elliptic curve operations.

From a classification perspective, this issue aligns with CWE-20 Improper Input Validation, as the system fails to adequately validate whether input points represent valid finite coordinates before performing arithmetic operations. It also relates to CWE-697 Incorrect Comparison during critical decision-making processes within cryptographic protocols. In terms of attack vectors and techniques, this vulnerability could be leveraged in contexts corresponding to MITRE ATT&CK T1553 Subvert Trust Controls if an attacker uses it to bypass verification mechanisms, or more broadly under T1498 Network Denial of Service if the malformed inputs cause computational failures that disrupt service availability.

To mitigate this risk, organizations utilizing SNARK Verifier must immediately upgrade to version 0.2.5 or later, where the handling of infinity points has been corrected. For systems unable to update promptly due to dependency constraints, implementing additional validation layers is critical. Developers should explicitly check for identity elements in elliptic curve operations before passing them into aggregation circuits and ensure that any custom implementations of affine addition properly handle edge cases involving zero coordinates or infinite distances. Regular security audits focusing on cryptographic primitive usage within proof verification pipelines are also recommended to identify similar oversights in other parts of the codebase.

Responsible

GitHub M

Reservation

07/13/2026

Disclosure

10/30/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!