Un bug di timing è una falla in cui la sicurezza dipende dal fatto che le operazioni avvengano nel giusto ordine o entro la giusta finestra temporale, e questa assunzione si rivela falsa. Se un controllo viene eseguito troppo tardi, un valore cambia prima di essere usato, oppure due azioni entrano in competizione tra loro, un attaccante può eludere un controllo che nel codice sembra corretto.
Questi bug sono importanti perché molte difese si basano su stato, sequenza e sincronizzazione. Negli attacchi reali, i bug di timing possono aiutare a bypassare controlli di autenticazione, confondere la logica dei permessi o esporre dati in componenti protetti come sandbox, enclave e servizi privilegiati. I difensori cercano condizioni di race, transizioni di stato incoerenti e lacune di tipo time-of-check/time-of-use, quindi riducono il rischio con operazioni atomiche, lock, una validazione dello stato più rigorosa e progetti che evitano di fidarsi di valori dopo che potrebbero essere cambiati.


