Una race di symlink è un difetto di temporizzazione in cui un programma controlla un percorso di file, quindi un attaccante modifica un collegamento simbolico prima che il programma lo usi. Poiché il collegamento ora punta altrove, il programma segue il target sbagliato. Questo è un classico problema di time-of-check to time-of-use, ed è particolarmente pericoloso nel codice che viene eseguito con privilegi più elevati rispetto all'attaccante.
Nella sicurezza informatica, le race di symlink sono rilevanti ovunque il software apra file, crei percorsi temporanei o riapra percorsi precedentemente convalidati su sistemi condivisi, sandbox o confini host-guest. Un attaccante può sfruttare la race per sovrascrivere file sensibili, leggere dati protetti o reindirizzare un servizio fidato verso una posizione inattesa. Le difese includono l'uso di file descriptor invece di operazioni di riapertura basate sul percorso, la risoluzione sicura dei percorsi, la minimizzazione dei privilegi e l'esecuzione atomica delle operazioni, in modo che l'oggetto controllato non possa essere sostituito tra la convalida e l'uso.


