Crashing Through Defenses: Exploiting Segfaults and Chaining around Intel CET
Summary
This repository provides artifacts for Segmentation Fault-Oriented Programming (SFOP), a novel exploitation technique that abuses signal handlers to bypass Intel CET. It includes PoC exploits and demonstrations against Nginx and Ladybird.
View Cached Full Text
Cached at: 08/10/26, 12:52 AM
signal-sfop/sfop
Source: https://github.com/signal-sfop/sfop
Segmentation Fault-Oriented Programming (SFOP)
This is the artifacts repository for the Segmentation Fault-Oriented Programming exploitation technique.
Artifacts Collection
Here we briefly describe the artifacts in this repository. In total, there are eight different artifacts, composed of six PoC exploits and two exploits in real-world programs (Nginx and Ladybird):
-
PoCs:
bSFOP_ek: Complete bSFOP exploit using a chain to register the signal and the Early Kill to launch the attack.bSFOP_fixed: Simpler to debug bSFOP, manually registered signal and manual faulty gadget to launch the attack.bSFOP_multistage: Same as bSFOP_fixed, but the whole payload is not transmited at the start, it is read in multiple parts.chain: Isolated example of using a chain to register sigaction.fSFOP_ek: Complete fSFOP exploit using a chain to register the signal and the Early Kill to launch the attack.fSFOP_fixed: Simpler to debug fSFOP, manually registered signal and manual faulty gadget to launch the attack.
-
vulnerable-nginx: a modified version of Nginx with the CVE-2013-2028 vulnerability. Showcases fSFOP with a custom signal registering chain and using the Early Kill. -
vulnerable-ladybird: a modified version of SerenityOS with the CVE-2021-4327 vulnerability. Showcases fSFOP with a custom signal registering chain and using the Early Kill.
Every file comes with its own README.
Requirements
Every PoC is dockerized. Docker is the only software requirement.
Running the PoCs requires active CET enforcement.
For this:
- Use a bare-metal machine, i.e., do not use a virtualized environtment (Virtualbox, WSL…) as CET is not enabled yet there.
- Use an Intel processor of 11th generation (Tiger Lake) or newer. AMD processors may work but were not tested.
- To be on the safe side, use a Linux kernel 6.6 or newer.
Our experiments have been tested in multiple machines, including:
- Ubuntu 24.04 with kernel 6.14 and glibc 2.39, Intel i3-14100 x86_64.
Similar Articles
FreeBSoD: Leveraging Language Models to Find and Exploit Kernel Bugs (Part 1 of 2)
This article describes how researchers at Praetorian used Claude Opus (via Claude Code) to discover and exploit vulnerabilities in the FreeBSD kernel, including a stack overflow (CVE-2026-3038) that allows escape from FreeBSD jails. Part one focuses on methodology for finding bugs.
FreeBSoD: Leveraging Language Models to Find and Exploit Kernel Bugs (Part 2 of 2)
This article explores using large language models to assist in writing exploits for FreeBSD kernel vulnerabilities, detailing two exploit chains that achieve full jail escape.
Core dump epidemiology: fixing an 18-year-old bug
OpenAI engineers detail the diagnosis of seemingly impossible crashes in Rockset's C++ data infrastructure, revealing both a silent hardware corruption bug on Azure and an 18-year-old race condition in GNU libunwind, resolved through epidemiological analysis of crash data.
Fabricked: Misconfiguring Infinity Fabric to Break AMD SEV-SNP
A novel software-based attack misconfigures the Infinity Fabric to break AMD SEV-SNP security guarantees, allowing a malicious hypervisor arbitrary read/write access to confidential virtual machines.
@jedisct1: The epoll uaf
A detailed analysis of a use-after-free vulnerability in the Linux kernel's epoll subsystem, fixed by switching to RCU, and the author's failed attempts at exploiting it on a modern device.