Un crash dell'applicazione è un arresto imprevisto nell'esecuzione di un programma. Il processo può terminare, bloccarsi o essere chiuso forzatamente dal sistema operativo dopo aver incontrato un errore che non può gestire in modo sicuro, come input non valido, memoria danneggiata o un'eccezione non gestita. In termini di sicurezza, un crash è spesso un problema di disponibilità: anche quando non vengono sottratti dati, il servizio dietro il programma può diventare irraggiungibile.
I crash sono importanti perché gli aggressori possono usare richieste malformate, bug del parser o l'esaurimento delle risorse per interrompere sistemi esposti. Nei software in C e C++, la corruzione della memoria può rendere i crash più probabili e talvolta più gravi. I difensori considerano i crash un segnale per correggere il codice vulnerabile, esaminare i log e i core dump e testare come il software si comporta con input non attendibili. Un singolo crash in una libreria condivisa o in un parser può interrompere molti prodotti che ne dipendono.


