В 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 |