Описание проблемы
В Astra Linux реализован механизм для повышения безопасности, включающий в том числе запрет на исполнение кода в стеке. В связи с этим возможно нарушение работы прикладного программного обеспечения, если такое программное обеспечение использует небезопасные конструкции. При этом сообщение об ошибке содержит следующую фразу:
cannot enable executable stack as shared object requires: Permission denied
Начиная с оперативного обновления 1.7.6 (БЮЛЛЕТЕНЬ № 2024-0830SE17) указанный механизм включен по умолчанию.
Устранение проблемы
В случае возникновения нарушения работы установленного прикладного программного обеспечения, необходимо снять запрет исполнения кода в области памяти, выделяемой для стека.
ВНИМАНИЕ!
Описанные ниже действия следует выполнять только в случае некорректной работы легитимного прикладного программного обеспечения в информационной системе.
Не рекомендуется применять указанные настройки в качестве типового решения (настроек по умолчанию).
Чтобы снять запрет установки флага исполнения на область памяти, выделяемой для стека в пользовательском пространстве, необходимо:
- добавить параметр ядра
parsec.execstack=1в строку значений параметра GRUB_CMDLINE_LINUX_DEFAULT конфигурационного файла/etc/default/grub. Пример результирующей строки:GRUB_CMDLINE_LINUX_DEFAULT="parsec.mac=0 quiet net.ifnames=0 parsec.execstack=1"
- обновить конфигурацию загрузчика:sudo update-grub
- перезагрузить компьютер.