1. Condiciones de carrera críticas
Estas provocan vulnerabilidades de seguridad importantes y alteran el estado final del sistema.
Ejemplo: un sistema de archivos verifica los permisos de un archivo, pero permite que se evada el control de seguridad señalado si el archivo se reemplaza por uno malicioso.
2. Condiciones de carrera no críticas
Estas no provocan una vulnerabilidad explotable, pero pueden generar una degradación del rendimiento o un comportamiento impredecible.
Ejemplo: los hilos que actualizan detalles de registro no esenciales podrían sobrescribirse entre sí sin afectar directamente la funcionalidad del sistema.
3. TOCTTOU (time-of-check to time-of-use)
Una forma específica de condición de carrera en la que se verifica un estado o recurso, pero la condición cambia antes de su uso.
Ejemplo: una aplicación verifica la propiedad de un archivo antes de procesarlo, pero durante ese intervalo, el atacante reemplaza el archivo con un symlink que apunta a archivos sensibles como /etc/passwd.