Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Рекомендации для разработчиков

  1. При сборке ПО не использовать параметр компиляции -z execstack. Этот параметр, передаваемый компоновщику. означает, что инструкции, расположенные в стеке, могут быть выполнены.
  2. Ошибка "cannot enable executable stack as shared object requires: Permission denied" возникает при попытке установки флага разрешения исполнения на область памяти, т.е. при попытке исполнения системного вызова mprotect(). Для предотвращения возникновения ошибки

...

  1. При сборке ПО не использовать параметр компиляции -z execstack. Этот параметр, передаваемый компоновщику. означает, что инструкции, расположенные в стеке, могут быть выполнены.
  2. следует исключить такие вызовы. Для выявления попыток установки флага исполнения (выявления обращений к системному вызову mprotect()) использовать инструмент strace.