Katalog CVE

CVE-2026-61618

ŚrednieCVSS 6.9
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.37%

Percentyl 31 - wyżej niż 31% wszystkich znanych CVE

Streszczenie

SNARK Verifier to generyczny weryfikator (S)NARK. W wersjach przed 0.2.5 limb publicznej instancji akumulatora KZG są dekodowane bez konsekwentnego egzekwowania kanonicznych granic limb przed rekonstrukcją współrzędnych krzywej eliptycznej. PlonkProof::read wybiera skalary za pomocą accumulator_indices i przekazuje je do AccumulatorEncoding::from_repr. Dla loadera EVM LimbsEncoding::from_repr przekazuje je do EvmLoader::ec_point_from_limbs w snark-verifier/src/loader/evm/loader.rs, gdzie shl i add rekonstruują współrzędne, zanim validate_ec_point sprawdzi wynikowy punkt afiniczny, a nie oryginalne granice limb. Powiązana ścieżka natywna w snark-verifier/src/pcs/kzg/accumulator.rs może osiągnąć dekodowanie oparte na asercji lub unwrap i panikę zamiast zwrócić błąd weryfikacji. Pozwala to na niekanoniczne kodowania na granicy weryfikatora i może spowodować awarię natywnego weryfikatora. Oczekuje się, że standardowe obwody agregacji SDK ograniczają limby akumulatora przed tą granicą, co ogranicza praktyczną wykorzystywalność. Problem naprawiono w wersji 0.2.5.

Ocena ryzyka

Może pozwolić na niekanoniczne kodowania na granicy weryfikatora oraz spowodować awarię natywnego weryfikatora (denial of service).

Rekomendacja

Zaktualizuj SNARK Verifier do wersji 0.2.5 lub nowszej.

Inne podatności w SNARK Verifier

Oryginalny opis (angielski, źródło NVD)

SNARK Verifier is a generic (S)NARK verifier. Prior to 0.2.5, KZG accumulator public-instance limbs are decoded without consistently enforcing canonical limb bounds before elliptic-curve coordinate reconstruction. `PlonkProof::read` selects scalars using `accumulator_indices` and passes them to `AccumulatorEncoding::from_repr`. For the EVM loader, `LimbsEncoding::from_repr` forwards them to `EvmLoader::ec_point_from_limbs` in `snark-verifier/src/loader/evm/loader.rs`, where `shl` and `add` reconstruct coordinates before `validate_ec_point` checks the resulting affine point rather than the original limb bounds. The related native path in `snark-verifier/src/pcs/kzg/accumulator.rs` can reach assertion- or unwrap-based decoding and panic instead of returning a verification error. This allows noncanonical encodings at the verifier boundary and can crash the native verifier. Standard SDK aggregation circuits are expected to constrain accumulator limbs before this boundary, which limits practical exploitability. This issue is fixed in version 0.2.5.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS