Léxico TI › Seguridad › Condición de carrera / TOCTOU

Condición de carrera / TOCTOU

Seguridad Svenska → Actualizado: 2026-08-20

Una vulnerabilidad en la que el estado cambia entre el momento en que un programa COMPRUEBA algo y el momento en que lo USA (Time-Of-Check to Time-Of-Use). El atacante aprovecha esa ventana diminuta para colar un cambio después de la comprobación pero antes del uso.

Ejemplo clásico: un programa comprueba "¿tiene este usuario permiso para leer el archivo X?" (comprobación) y a continuación abre X (uso). Entre los dos pasos, el atacante sustituye X por un enlace simbólico a un archivo secreto — la comprobación se hizo sobre el archivo inofensivo, pero el uso golpea el secreto. En general, cualquier secuencia de "comprobar y luego actuar" sin atomicidad es explotable si un atacante puede cambiar el estado dentro de esa ventana. Otros casos: retiros dobles de un saldo (comprobar saldo, restar — ejecutado dos veces en paralelo), TOCTOU en sistemas de archivos, y carreras en la autenticación. Defensa: hacer la operación atómica (abrir el archivo y comprobar el descriptor ya abierto, no la ruta), usar bloqueos o transacciones, y no dar por hecho que el estado permanece igual entre pasos. Una clase de bug sutil pero grave. Emparentada con IDOR y con la deserialización insegura.

← Volver al léxico