LOW🇬🇧 English

CVE-2025-52884

CVSS 1.7v4.0pub. 2025-06-24upd. 2026-04-15

RISC Zero to platforma do uniwersalnego obliczeń z zero-knowledge proof, zintegrowana z Ethereum. Repozytorium risc0-ethereum zawiera kontrakty Solidity weryfikatora, bibliotekę Steel EVM view call i kod wspierający. W wersjach wcześniejszych niż 2.1.1 i 2.2.0 funkcja biblioteki Solidity `Steel.validateCommitment` zwraca `true` dla spreparowanego commitment'u o digest'ie równym zero, co narusza semantykę `validateCommitment` — taki commitment nie odpowiada żadnemu blokowi w obecnym łańcuchu. Luka została naprawiona w risc0-ethereum 2.1.1 i 2.2.0; użytkownicy biblioteki Steel w wersjach 2.1.0 i wcześniejszych powinni upewnić się, że używają `Steel.validateCommitment` razem z weryfikacją zkVM proof'u programu Steel zgodnie z dokumentacją i przykładami — jest to prawidłowe użycie, i użytkownicy postępujący zgodnie z tym wzorcem nie są narażeni na ryzyko.

Pokaż oryginał (EN)

RISC Zero is a zero-knowledge verifiable general computing platform, with Ethereum integration. The risc0-ethereum repository contains Solidity verifier contracts, Steel EVM view call library, and supporting code. Prior to versions 2.1.1 and 2.2.0, the `Steel.validateCommitment` Solidity library function will return `true` for a crafted commitment with a digest value of zero. This violates the semantics of `validateCommitment`, as this does not commitment to a block that is in the current chain. Because the digest is zero, it does not correspond to any block and there exist no known openings. As a result, this commitment will never be produced by a correct zkVM guest using Steel and leveraging this bug to compromise the soundness of a program using Steel would require a separate bug or misuse of the Steel library, which is expected to be used to validate the root of state opening proofs. A fix has been released as part of `risc0-ethereum` 2.1.1 and 2.2.0. Users for the `Steel` Solidity library versions 2.1.0 or earlier should ensure they are using `Steel.validateCommitment` in tandem with zkVM proof verification of a Steel program, as shown in the ERC-20 counter example, and documentation. This is the correct usage of Steel, and users following this pattern are not at risk, and do not need to take action. Users not verifying a zkVM proof of a Steel program should update their application to do so, as this is incorrect usage of Steel.

CVSS Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U/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
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje