How I started chasing speculative type confusion bugs in the kernel and ended up wi...
summary
Built a dynamic taint-based scanner that instruments the kernel with DFSan/kdf, fuzzes syscalls, takes stack/register snapshots, emulates a flipped branch with an undo log, and flags secret-dependent speculative cache loads. The pipeline called Casper finds 1,379 gadgets, exposes a recurring list_for_each type‑confusion that needed a coding-style fix (kernel moves from C89 to C11), forces 80 patches merged so far, reveals 450+ iterator uses to audit, and leaves about 300 locations still to fix.
AI-written summary · about
chapters (4)
related talks
43mSyzbot and the Tale of Thousand Kernel Bugs
59mSanitizing the Linux Kernel — On KASAN and other Dynamic Bug-finding Tools
29mEvent-based Fuzzing, Patch-based Research, and Comment Police: Finding Bugs Through a Bug
43mDebug for Bug: Crack and Hack Apple Core by Itself
39mFuzzing the Native NTFS Read-Write Driver (NTFS3) in the Linux Kernel
42mCPU Fuzzing: Automatic Discovery of...
35mDeep-Kernel Treasure Hunt: Finding exploitable structures in the Linux kernel
31mHow Double-Fetch Situations turn into Double-Fetch Vulnerabilities...
