CVE-2025-61588 risc0 vulnerable to arbitrary code execution in guest via memory safety failure in `sys_read`
A memory safety failure in sys_read allows the host to write to arbitrary guest memory, enabling arbitrary code execution within the zkVM guest.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-61588?
CVE-2025-61588 is a critical memory corruption vulnerability in risc0, published on 1 Oct 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
RISC Zero is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture. In versions 2.0.2 and below of risc0-zkvm-platform, when the zkVM guest calls sys_read, the host is able to use a crafted response to write to an arbitrary memory location in the guest. This capability can be leveraged to execute arbitrary code within the guest. As sys_read is the mechanism by which input is requested by the guest, all guest programs built with the affected versions are vulnerable. This critically compromises the soundness guarantees of the guest program. Other affected packages include risc0-aggregation versions below 0.9, risc0-zkos-v1compat below 2.1.0, risc0-zkvm versions between 3.0.0-rc.1 and 3.0.1. This issue has been fixed in the following versions: risc0-zkvm-platform 2.1.0, risc0-zkos-v1compat 2.1.0, risc0-aggregation 0.9, and risc0-zkvm 2.3.2 and 3.0.3.
Weakness: CWE-94
Which versions are affected by CVE-2025-61588?
10 open source packages ship an affected version, including risc0-zkvm, risc0-aggregation and risc0-zkos-v1compat.
| Package | Affected | Fixed in |
|---|---|---|
risc0-zkvm crates.io | All versions | 2.3.2 |
risc0-zkvm crates.io | All versions | 2.3.2 |
risc0-zkvm crates.io | From 3.0.0 | 3.0.3 |
risc0-zkvm crates.io | From 3.0.0 | 3.0.3 |
risc0-aggregation crates.io | All versions | 0.9 |
risc0-aggregation crates.io | All versions | 0.9 |
4 more packages
risc0-zkos-v1compat crates.io | All versions | 2.1.0 |
risc0-zkos-v1compat crates.io | All versions | 2.1.0 |
risc0-zkvm-platform crates.io | All versions | 2.1.0 |
risc0-zkvm-platform crates.io | All versions | 2.1.0 |
How do I fix CVE-2025-61588?
Upgrade risc0-zkvm to a fixed version for your release line: 2.3.2 or 3.0.3.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2025-61588 being exploited?
There is no known exploitation of CVE-2025-61588 in the wild and no public exploit code.
Sources
Also known as GHSA-jqq4-c7wq-36h7.