Vulnerabilidad TOCTOU
¿Qué es Vulnerabilidad TOCTOU?
Vulnerabilidad TOCTOUCondición de carrera entre la comprobación y el uso, en la que el estado verificado por una decisión de seguridad cambia antes de ejecutar la acción correspondiente.
Una vulnerabilidad TOCTOU (Time-Of-Check to Time-Of-Use, CWE-367) es un tipo concreto de condición de carrera en el que un programa comprueba una propiedad de un recurso (propietario, permisos, contenido) y luego opera sobre él como si la comprobación siguiera vigente. El atacante que puede intercambiar el recurso entre los dos pasos —normalmente con symlinks, renombrados o memoria compartida— elude la comprobación. El caso clásico es access() seguido de open(): el atacante reemplaza la ruta por un symlink a /etc/shadow tras un access() exitoso. Las defensas pasan por APIs que combinan comprobación y uso (openat con O_NOFOLLOW, fstat), trabajar con descriptores en vez de rutas, bloqueo de archivos y sandboxes más estrictos.
● Ejemplos
- 01
Programa setuid que comprueba propiedad con stat() y luego abre la ruta.
- 02
Escape de contenedor mediante TOCTOU sobre rutas de bind-mount.
● Preguntas frecuentes
¿Qué es Vulnerabilidad TOCTOU?
Condición de carrera entre la comprobación y el uso, en la que el estado verificado por una decisión de seguridad cambia antes de ejecutar la acción correspondiente. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.
¿Qué significa Vulnerabilidad TOCTOU?
Condición de carrera entre la comprobación y el uso, en la que el estado verificado por una decisión de seguridad cambia antes de ejecutar la acción correspondiente.
¿Cómo defenderse de Vulnerabilidad TOCTOU?
Las defensas contra Vulnerabilidad TOCTOU combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Vulnerabilidad TOCTOU?
Nombres alternativos comunes: TOCTTOU, Comprobación-y-uso.