La sicurezza dei thread è una proprietà del software che garantisce che più thread possano accedere allo stesso codice o agli stessi dati condivisi senza corrompere lo stato, mandare in crash il programma o produrre risultati incoerenti. In pratica, significa che le operazioni sono protette in modo che un thread non sovrascriva il lavoro di un altro thread mentre vengono eseguiti allo stesso tempo.
I team di sicurezza informatica si preoccupano della sicurezza dei thread perché molti server gestiscono richieste concorrenti. Se variabili condivise, nomi di file, sessioni o buffer non sono protetti, gli attaccanti possono innescare condizioni di race che causano decisioni di autorizzazione errate, fughe di dati, denial of service o persino l'esecuzione di codice in alcuni casi. I difensori cercano lock, operazioni atomiche, passaggio di messaggi e un'attenta separazione dello stato, soprattutto nei servizi di rete che elaborano in parallelo operazioni di controllo e di dati. Una scarsa sicurezza dei thread spesso emerge in bug difficili da riprodurre ma facili da sfruttare una volta compresi.


