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.