A Practical Guideline and Taxonomy to LLVM's Control Flow Integrity
By: Sabine Houy , Bruno Kreyssig , Timothee Riom and more
Potential Business Impact:
Fixes software bugs that let hackers take over.
Memory corruption vulnerabilities remain one of the most severe threats to software security. They often allow attackers to achieve arbitrary code execution by redirecting a vulnerable program's control flow. While Control Flow Integrity (CFI) has gained traction to mitigate this exploitation path, developers are not provided with any direction on how to apply CFI to real-world software. In this work, we establish a taxonomy mapping LLVM's forward-edge CFI variants to memory corruption vulnerability classes, offering actionable guidance for developers seeking to deploy CFI incrementally in existing codebases. Based on the Top 10 Known Exploited Vulnerabilities (KEV) list, we identify four high-impact vulnerability categories and select one representative CVE for each. We evaluate LLVM's CFI against each CVE and explain why CFI blocks exploitation in two cases while failing in the other two, illustrating its potential and current limitations. Our findings support informed deployment decisions and provide a foundation for improving the practical use of CFI in production systems.
Similar Papers
EILID: Execution Integrity for Low-end IoT Devices
Cryptography and Security
Protects small devices from being hacked while running.
MultiCFV: Detecting Control Flow Vulnerabilities in Smart Contracts Leveraging Multimodal Deep Learning
Cryptography and Security
Finds hidden mistakes in blockchain code.
Empirical Security Analysis of Software-based Fault Isolation through Controlled Fault Injection
Cryptography and Security
Finds bugs that let hackers break into browsers.