External risk intelligence

RISC Zero zkVM Arbitrary Memory Write Leading to Code Execution.

CVE advisorySeverity: CRITICAL (CVSS 9.3)

CVE-2025-61588

The vulnerability exists within a zero-knowledge verifiable computing platform library (RISC Zero zkVM). It affects guest programs and internal system calls (sys_read) during execution. These components are typically integrated into application code at build-time or used within local compute environments rather than acting as internet-facing services or gateways.

Code Injection

Halo Surface Signal: 1 out of 5 — much less likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This vulnerability affects RISC Zero's verifiable computing platform, allowing attackers to write to arbitrary memory locations within a guest program and execute code. This critically compromises the security guarantees of guest programs built with affected versions. The main concern is confirming relevance and exposure, as the vulnerability lies within internal system calls.

  • Guest programs can be compromised by memory writes.
  • It undermines the integrity of verifiable computations.
  • Confirm if your RISC Zero usage is impacted.

Attack Path

How an attacker could exploit the issue

An attacker can target a RISC Zero zkVM guest program by sending a specially crafted response during a `sys_read` operation. This allows the attacker to write to any memory location within the guest, potentially leading to the execution of arbitrary code. This compromise undermines the fundamental security guarantees of the guest program, as `sys_read` is essential for requesting input. The vulnerability affects various RISC Zero components that rely on this mechanism.

  • Vulnerable component exposed externally.
  • Crafted response to `sys_read` call.
  • Arbitrary code execution within guest.

Live Threat

Current exploitation, exposure, and threat context

When a vulnerable zkVM guest program calls `sys_read`, a specially crafted host response could allow writing to arbitrary guest memory locations, potentially leading to arbitrary code execution within the guest. This compromises the integrity of the guest program's computations and its soundness guarantees.

  • Arbitrary guest code execution.
  • Host crafts a response to `sys_read`.
  • Compromises guest program soundness.

Operational Fix

Recommended remediation, mitigation, and detection steps

The RISC Zero platform is susceptible to arbitrary code execution within guest programs due to a vulnerability in the `sys_read` mechanism. Ownership for addressing this lies with the teams integrating RISC Zero into their applications, as well as platform or infrastructure teams managing the runtime environment. The first practical step is to identify all instances of the affected RISC Zero components, confirm their reachability and criticality, and then coordinate remediation with the accountable owners.

  • Application and platform owners should address.
  • Verify all RISC Zero deployments and reachability.
  • Plan remediation based on identified risks.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is the RISC Zero zkVM platform used for?

RISC Zero provides a general computing platform that uses zero-knowledge proofs, specifically zk-STARKs and the RISC-V architecture. Developers use it to create verifiable guest programs that can prove the correctness of computations, ensuring that a specific output was generated by the intended code without needing to re-run the entire process.

How does CVE-2025-61588 impact guest programs?

This vulnerability, classified as CWE-94 (Improper Control of Generation of Code), allows an attacker to manipulate memory. When a guest program requests data via the sys_read system call, a crafted host response can overwrite arbitrary memory locations within the guest environment. This flaw breaks the program's integrity and allows unauthorized code execution.

Does a standard input trigger this vulnerability?

No. The flaw is specifically triggered by a malicious or crafted response provided during a sys_read operation. Normal, expected data inputs used by a properly functioning guest program do not activate this memory-write exploit; it requires an intentional effort to supply a response designed to overwrite guest memory.

Is my RISC Zero application at risk?

According to Halo Surface Signal, this risk is very unlikely for most systems because the vulnerability exists within internal library calls rather than internet-facing services. You should focus on applications that integrate these specific RISC Zero packages, as the issue resides in the compute environment where these guest programs are built and executed.

How should I begin addressing this issue?

Start by auditing your codebase to identify all instances using the affected package versions, such as risc0-zkvm-platform 2.0.2 or lower. Once you have a complete inventory, verify if these components are reachable or critical to your operations, then plan to update to the secure versions, including 2.1.0 or 2.3.2, to restore the soundness of your verifiable computations.

References