Cascade: CPU Fuzzing via Intricate Program Generation

The work

AuthorsFlavien Solt; Katharina Ceesay-Seitz; Kaveh Razavi
Editors
Typeinproceedings
Year2024
Citekeysolt2024cascade

Where it appeared

Published in33rd USENIX Security Symposium (USENIX Security 24)
PublisherUSENIX Association

Related

Distinct fromcanakci2022processorfuzz
Distinct frommurali2026sok
Distinct fromnaylor2015generic
Distinct fromoleksenko2025enter
Distinct fromsolt2025lost

From bibtex.

Abstract

Generating interesting test cases for CPU fuzzing is akin to generating programs that exercise unusual states inside the CPU. The performance of CPU fuzzing is heavily influenced by the quality of these programs and by the overhead of bug detection. Our analysis of existing state-of-the-art CPU fuzzers shows that they generate programs that are either overly simple or execute a small fraction of their instructions due to invalid control flows. Combined with expensive instruction-granular bug detection mechanisms, this leads to inefficient fuzzing campaigns. We present Cascade, a new approach for generating valid RISC-V programs of arbitrary length with highly randomized and interdependent control and data flows. Cascade relies on a new technique called asymmetric ISA pre-simulation for entangling control flows with data flows when generating programs. This entanglement results in non-termination when a program triggers a bug in the target CPU, enabling Cascade to detect a CPU bug at program granularity without introducing any runtime overhead. Our evaluation shows that long Cascade programs are more effective in exercising the CPU’s internal design. Cascade achieves 28.2x to 97x more coverage than the state-of-the-art CPU fuzzers and uncovers 37 new bugs (28 new CVEs) in 5 RISC-V CPUs with varying degrees of complexity. The programs that trigger these bugs are long and intricate, impeding triaging. To address this challenge, Cascade features an automated pruning method that reduces a program to a minimal number of instructions that trigger the bug.

A copy is held

pdf, 1.0 MB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-09-18 04:59 UTC
Approved bya person 2026-10-05 21:09 UTC

Cite it as

@inproceedings{solt2024cascade,
  title        = {Cascade: CPU Fuzzing via Intricate Program Generation},
  author       = {Flavien Solt and Katharina Ceesay-Seitz and Kaveh Razavi},
  year         = {2024},
  booktitle    = {33rd USENIX Security Symposium (USENIX Security 24)},
  publisher    = {USENIX Association},
}

This record lives at https://refs.drheap.org/solt2024cascade/ and will keep doing so.