RISC Zero zkVM, Memory Corruption, CVE-2024-23825 (Critical)

Listen to this Post

The vulnerability exists in the `sys_read` system call handler within the RISC Zero zkVM guest platform. In affected versions, the implementation used unsafe pointer arithmetic to manage data written from the host to the guest’s memory. A malicious host could craft a response to a guest’s `sys_read` call that specifies an arbitrary target memory address within the guest. This bypasses the intended memory safety guarantees, allowing the host to perform arbitrary writes into the guest’s memory space. By carefully overwriting function pointers or other critical data structures, an attacker can manipulate the guest’s control flow to execute arbitrary code. This fundamentally breaks the isolation and soundness guarantees of the zkVM, as the guest’s execution integrity can be fully compromised by a dishonest host.
Platform: RISC Zero zkVM
Version: <2.3.2, <3.0.3
Vulnerability: Memory Corruption
Severity: Critical

date: 2024

Prediction: Q1 2024

What Undercode Say:

cargo tree --depth 0 -p risc0-zkvm-platform --manifest-path guest/Cargo.toml
risc0-zkvm = "2.3.2"
risc0-build = "2.3.2"
risc0-zkvm-platform = "2.1.0"

How Exploit:

Malicious host crafts `sys_read` response.

Response overwrites guest memory.

Control flow is hijacked.

Arbitrary code executes.

Protection from this CVE

Update `risc0-zkvm` to ^2.3.2 or ^3.0.3.

Update `risc0-zkvm-platform` to ^2.1.0.

Rebuild guest programs.

Verify dependencies with `cargo tree`.

Impact:

Total guest compromise.

Broken soundness guarantees.

Arbitrary code execution.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top