
Segmentation Fault-Oriented Programming exploitation technique
This is the artifacts repository for the Segmentation Fault-Oriented Programming exploitation technique.
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.
Every PoC is dockerized. Docker is the only software requirement.
Running the PoCs requires active CET enforcement.
For this:
Our experiments have been tested in multiple machines, including: