Отказ в обслуживании при переполнении буфера в программировании происходит из-за аварийного завершения или зависания программы. 1 Это происходит, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера. 1
Переполнение буфера обычно возникает из-за неправильной работы с данными, полученными извне, и памятью, при отсутствии жёсткой защиты со стороны подсистемы программирования (компилятора или интерпретатора) и операционной системы. 1
Отдельные виды переполнений, например переполнение в стековом кадре, позволяют злоумышленнику загрузить и выполнить произвольный машинный код от имени программы и с правами учётной записи, от которой она выполняется. 1
Чтобы избежать переполнения буфера, программист должен проверять размер пользовательских данных перед их размещением в предварительно объявленной переменной. 4