一句话:CSGO 联合模糊内核运行时参数与系统调用,以更深的覆盖率发现内核漏洞。
内核位于硬件与用户应用之间,暴露系统调用、运行时参数等多种输入向量,仅靠系统调用接口递送测试载荷难以到达深层状态并触发复杂漏洞。本文提出内核模糊测试器 CSGO,将内核运行时参数的模糊测试与系统调用调用协同进行。其设计包括三部分:从内核暴露的可用参数中提取信息,生成合法的内核配置测试用例语法;对提取到的参数静态推导配置与系统调用之间的关联关系,用于初始测试用例生成指导;在模糊测试过程中通过解释执行反馈动态细化这些关联。作者在近期 Linux 内核版本上实现了 CSGO 并开展评估,结果显示其总体覆盖率相较现有最先进内核模糊测试器平均提升 21%,触发 22 个此前未知的漏洞,其中 8 个已由内核维护者修复。
Fuzzing operating system kernels to discover deep and complex bugs is difficult to accomplish, as kernels reside between hardware and user applications, exposing a variety of input vectors that affect their internal state. Previous approaches mainly use a kernel’s system call interface to deliver test payloads into the kernel, but reaching states and triggering bugs also require collaborative efforts from other input vectors, such as runtime parameters. Kernel runtime parameters greatly affect the execution behavior of the kernel under test, as they alter internal execution flows and thus require kernel fuzzers to manipulate them in conjunction with invoking system calls to effectively root out bugs. In this paper, we present CSGO, a kernel fuzzer that discovers more in-depth bugs through fuzzing kernel runtime parameters in conjunction with system calls. CSGO’s approach is achieved through the following designs. First, CSGO generates valid test case generation syntax for kernel configurations by extracting available parameters exposed by the kernel. Then, for the extracted parameters, CSGO statically deduces relations between the configurations and kernel system calls for initial generation guidance. Finally, during fuzzing, CSGO dynamically refines the relations between the configurations and system calls by interpreting execution feedback. We implemented CSGO and evaluated its approach on recent versions of the Linux kernel. Our results show that CSGO achieves an average of 21% improvement in overall coverage compared with existing state-of-the-art kernel fuzzers and triggers 22 previously unknown bugs, with 8 fixed by kernel maintainers.
@inproceedings{paperbot11629,
title = {Configuration-Sensitive Linux Kernel Fuzzing},
author = {Yuheng Shen and Jianzhong Liu and Yuhan Chen and Yifei Chu and Qiang Zhang and Guoyu Yin and Heyuan Shi and Yu Jiang},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3744916.3773136}
}