En un ataque de desbordamiento de pila clásico, el atacante logra colocar su propio código (instrucciones del procesador) en la pila al desbordar algunas estructuras de datos basadas en pila con contenido controlado por el atacante. Ahora, el atacante necesita tener este contenido en la pila para que el procesador lo tome como instrucciones y lo ejecute. Pero, el procesador solo ejecutará el código de las páginas de memoria marcadas como ejecutables. Solo que el sistema operativo moderno y los compiladores marcarán las páginas de la pila como no ejecutables para evitar tales desbordamientos de pila. La opción -z execstack
desactiva esta protección.