Вы описываете переполнение буфера , и да, они являются серьезным источником проблем безопасности в программном обеспечении. Если кто-то может перезаписать программный код произвольными данными, и эти произвольные данные содержат исполняемый код по выбору злоумышленника, то они могут по существу выполнить машинный код с уровнем привилегий программы, в которой произошло переполнение.
Эта проблема обычно возникает, когда для неизвестного объема ввода (от клавиатуры, сети, вызова API и т. Д.) Выделяется фиксированный объем памяти, а объем ввода оказывается больше, чем размер хранилища. , В языках программирования, которые не выполняют проверку границ при доступе к массиву, это может привести к перезаписи исполняемых областей кода. Такие технологии, как DEP , могут снизить этот риск за счет защиты исполняемых областей памяти от записи.