Un overflow dello stack è una condizione di crash che si verifica quando un programma utilizza più memoria dello stack delle chiamate di quanta il processo ne abbia a disposizione. Le cause più comuni sono una ricorsione profonda o illimitata, oppure funzioni che continuano a chiamarsi a vicenda senza un punto di arresto sicuro. A ogni chiamata si aggiunge un frame dello stack per i dati locali e le informazioni di ritorno, e alla fine lo stack si esaurisce.
Nella sicurezza informatica, gli overflow dello stack sono importanti perché possono trasformare un semplice input in un crash di denial-of-service. Gli aggressori spesso li attivano inviando dati che costringono un parser, un resolver o un gestore di archivi in una ricorsione ripetuta. I difensori lo tengono sotto controllo impostando limiti di ricorsione, validando l'input prima dell'elaborazione e correggendo i percorsi di codice che possono andare in loop in modo imprevisto. A differenza di un bug di corruzione della memoria, un overflow dello stack è spesso


