concept

Non Executable Stack

Non Executable Stack (NX) is a security feature in computer systems that marks memory regions, such as the stack, as non-executable to prevent code execution from those areas. It is implemented through hardware support like the NX bit in modern processors and software mechanisms in operating systems. This helps mitigate common exploits like buffer overflow attacks by stopping malicious code from running in memory regions intended only for data storage.

Also known as: NX, No-Execute, Data Execution Prevention, DEP, Exec Shield
🧊Why learn Non Executable Stack?

Developers should understand and use Non Executable Stack when building secure applications, especially in systems programming, embedded systems, or any environment prone to memory corruption vulnerabilities. It is critical for preventing stack-based attacks, such as return-oriented programming (ROP), and is a standard practice in modern operating systems like Linux (with PaX or Exec Shield) and Windows (with Data Execution Prevention).

Compare Non Executable Stack

Learning Resources

Related Tools

Alternatives to Non Executable Stack