Race condition / TOCTOU
Una vulnerabilità in cui lo stato cambia tra il momento in cui un programma CONTROLLA qualcosa e il momento in cui lo USA (Time-Of-Check to Time-Of-Use): l'attaccante sfrutta la minuscola finestra temporale per inserire una modifica dopo il controllo ma prima dell'uso.
Esempio classico: un programma verifica «questo utente ha il diritto di leggere il file X?» (controllo) e poi apre X (uso). Tra i due passaggi l'attaccante sostituisce X con un symlink a un file segreto: il controllo era stato fatto sul file innocuo, ma l'uso colpisce quello segreto. Più in generale, qualsiasi sequenza «controlla e poi agisci» priva di atomicità è sfruttabile se un attaccante può modificare lo stato nella finestra. Altri casi: doppi prelievi da un saldo (si controlla il saldo, si sottrae, il tutto eseguito due volte in parallelo), TOCTOU sul filesystem e race nell'autenticazione. Difesa: rendere l'operazione atomica (aprire il file e verificare l'handle aperto, non il percorso), usare lock o transazioni ed evitare di dare per scontato che lo stato resti invariato tra i passaggi. Una classe di bug sottile ma seria. Imparentata con IDOR e deserializzazione insicura.