“Quem programou em C ou C++ já esbarrou nesta categoria de erro: buffer overflows que podem vir acompanhados” (ou não de) outros problemas como ponteiros não inicializados, memory leaks, etc e como afirma o David LeBlanc “toda vulnerabilidade pode ser explorada até que se prove o contrário”, portanto codificar de forma segura e debugar é preciso! Entre algumas dicas já oferecidas aqui anteriormente, segue um artigo [1] bem interessante do Savago onde ele trata de um específico tipo de buffer overflow que aborda o mudflap como ferramenta de debugging para encontrar estas falhas e o Valgrind que também é recomendada pelo Michael Behm.
[1] Detectando buffer over/underflow em C e C++ com ferramentas OpenSource
[2] Mudflap
[3] Valgrind
[4] Using valgrind to detect and prevent application memory problems