CBGF: Callback Coverage Guided Fuzzing
Callback functions are widely used across programming languages, libraries, and operating systems. While offering flexible software design, these mechanisms introduce inherently complex execution flows that can serve as potential attack vectors for security vulnerabilities. Despite the continuous reporting and active exploitation of callback-related vulnerabilities in real-world environments, traditional coverage-guided greybox fuzzing approaches typically instrument the entire codebase uniformly without prioritizing callback functions, thereby insufficiently capturing callback-specific execution flows and limiting effectiveness in detecting these vulnerabilities. We propose Callback Coverage Guided Fuzzing (CBGF), a novel approach that leverages user-defined callback functions to strategically insert instrumentation code, enabling precise monitoring of callback execution flows. The proposed instrumentation approach facilitates comprehensive identification of callback execution paths while maintaining seamless compatibility with existing fuzzing frameworks. Our evaluation using CPython demonstrated the effectiveness of CBGF, discovering seven bugs, including five callback-related vulnerabilities.
Authors
- Daesung Moon (ORCID: https://orcid.org/0000-0002-9961-0401)
- Ho Young Hwang
Institutions
- Electronics and Telecommunications Research Institute (KR)
- Korea University of Science and Technology (KR)
Publication Details
- Journal
- IEEE Access
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1109/access.2025.3561135
- Primary Topic
- Artificial Intelligence in Games
- Type
- article
- Field-Weighted Citation Impact
- 0.00