CVE-2025-61588 risc0 vulnerable to arbitrary code execution in guest via memory safety failure in `sys_read`

Critical 9.3 Published Updated

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.

PackageAffectedFixed in
risc0-zkvm crates.ioAll versions2.3.2
risc0-zkvm crates.ioAll versions2.3.2
risc0-zkvm crates.ioFrom 3.0.03.0.3
risc0-zkvm crates.ioFrom 3.0.03.0.3
risc0-aggregation crates.ioAll versions0.9
risc0-aggregation crates.ioAll versions0.9
4 more packages
risc0-zkos-v1compat crates.ioAll versions2.1.0
risc0-zkos-v1compat crates.ioAll versions2.1.0
risc0-zkvm-platform crates.ioAll versions2.1.0
risc0-zkvm-platform crates.ioAll versions2.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.

Is CVE-2025-61588 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free