La desincronizzazione è una discrepanza di stato tra un client e un server: il client può visualizzare una cosa mentre il server ne registra un'altra. Nella sicurezza informatica, questo è importante perché molti sistemi moderni si fidano in una certa misura di entrambe le estremità, e qualsiasi divario tra loro può essere usato per confondere la convalida, aggirare le regole o attivare decisioni incoerenti. Nei giochi, ad esempio, un giocatore può vedere una posizione, un punteggio o uno stato, mentre il server ha un record autorevole diverso.
Gli aggressori cercano la desincronizzazione quando analizzano condizioni di race, problemi di replay o casi limite negli aggiornamenti di stato. Se un sistema controlla una richiesta prima che le modifiche di stato siano completamente confermate, un'azione può essere accettata due volte o rifiutata in modo errato. I difensori riducono questo rischio rendendo il server autorevole, utilizzando un monitoraggio robusto delle sessioni, convalidando ogni transizione di stato e registrando le differenze tra i dati riportati dal client e quelli memorizzati dal server. La desincronizzazione è spesso prima di tutto un bug di affidabilità, ma nei sistemi sensibili alla sicurezza può diventare una via di abuso.


