Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

control-flow hijacking

A memory bug changing where a program jumps next, by overwriting a saved return address or a function pointer, so the program no longer follows its own code paths.

Control-flow hijacking is the corruption of a code pointer (saved return address, function pointer, vtable pointer, GOT entry) so that a later ret, indirect call or indirect jump transfers control to an address the program never intended; the mitigations of this chapter each block one step of it.

Read the full section →