Linguagens de programação muito utilizadas em sistemas operacionais modernos, como Assembly para baixo nível e C/C++ para aplicações, acabam possuindo problemas de segurança que tornam nossos sistemas vulneráveis. Não são falhas na linguagem em si, mas, por serem muito flexíveis, permitem que o programador deixe ocorrer problemas por falhas na lógica ou na implementação dos programas. Um problema clássico é quando uma variável apresenta um ponteiro para um vetor de inteiros com tamanho 10 e recebe uma entrada com tamanho 15, sobrescrevendo parte da memória de outra variável, às vezes, do mesmo programa. Qual nome é dado a essa falha de segurança?