Переполнение стека (Stack overflow)


Переполнение стека — это ошибка, возникающая при превышении допустимого объема памяти, выделенного под стек выполнения программы. Чаще всего это происходит при глубокой или бесконечной рекурсии, когда каждый новый вызов функции занимает место в стеке, пока память не заканчивается.

В безопасности переполнение стека может использоваться для атаки: злоумышленник пытается изменить содержимое стека, например, адрес возврата, чтобы выполнить произвольный код. Такие уязвимости применяются для выполнения эксплойтов и обхода защиты, особенно в приложениях с низкоуровневым доступом к памяти.