Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2025-52884 — risc0-ethereum-contracts

🟢 CVSS 2.0 — Low ✅ No Known Exploit CWE-159 NVD
2.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

RISC Zero Ethereum invalid commitment with digest value of zero accepted by Steel.validateCommitment

Impact

Prior to 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. Leveraging this bug to compromise the soundness of an application 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 (e.g. having the guest commit to a digest of zero, or failing to check the zkVM proof).

Because this bug does not risk application integrity, correctly written applications are not at risk.

Fix

Please see [#605] for a full description of the bug, and the fix. This fix has been released as part of risc0-ethereum [2.1.1] and [2.2.0].

Recommended actions

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][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.

Credit

A thank you to Daniel526 on HackenProof for reporting this issue

[#605]: https://github.com/risc0/risc0-ethereum/pull/605

[example]: https://github.com/risc0/risc0-ethereum/blob/ff0cb9253a87945b653b825711b8b5075f8b7545/examples/erc20-counter/contracts/src/Counter.sol#L56-L63

[documentation]: https://docs.beboundless.xyz/developers/steel/how-it-works#verifying-the-proof-onchain

[2.1.1]: https://github.com/risc0/risc0-ethereum/releases/tag/v2.1.1

[2.2.0]: https://github.com/risc0/risc0-ethereum/releases/tag/v2.2.0

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is high, an attacker needs no privileges on the target. No user interaction is required. Rated impact: confidentiality none, integrity low, availability none.

CVSS metrics in full

The score comes from this 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

  • Attack vector: Network — reachable from anywhere that can route to the service.
  • Attack complexity: High — the attacker first has to win a race, learn a secret or otherwise prepare the target.
  • Attack requirements: Present — the target has to be in a particular state for the attack to work.
  • Privileges required: None — an unauthenticated stranger can try it.
  • User interaction: None — nobody has to be tricked into anything.
  • Confidentiality impact: None.
  • Integrity impact: Low — limited, and the attacker does not choose what is affected.
  • Availability impact: None.

Weakness class

CVE-2025-52884 is classified as CWE-159: Improper Handling of Invalid Use of Special Elements. The product does not properly filter, remove, quote, or otherwise manage the invalid use of special elements in user-controlled input, which could cause adverse effect on its behavior and integrity.

Affected software

CVE-2025-52884 is recorded against 2 packages.

  • risc0-ethereum-contracts
  • unknown

Timeline and source

Published on 25 June 2025. No public exploit is currently recorded for this entry. Record sourced from NVD.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Web)
docs.beboundless.xyz (Web)
github.com (Package)
github.com (Web)
github.com (Web)
github.com (Web)

Same weakness in other software

These advisories are the same class of weakness (CWE-159: Improper Handling of Invalid Use of Special Elements) in other software:

Details

Severity LOW
CVSS Score 2.0
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
CWE CWE-159
Public Exploit ✅ No
Source NVD
Published 2025-06-25
Updated 2026-08-20
Modified 2025-06-25
Fix URL N/A

Affected Packages

Software From version Fixed in
risc0-ethereum-contracts
unknown

Free Vulnerability Check

Is your site affected by CVE-2025-52884?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against CVE-2025-52884 and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2025