Condición de carrera
¿Qué es Condición de carrera?
Condición de carreraDefecto en el que la seguridad o corrección del sistema depende del momento u orden de operaciones concurrentes, permitiendo a un atacante intercalar acciones y eludir comprobaciones.
Una condición de carrera surge cuando dos o más hilos, procesos o actores acceden a estado compartido sin sincronización adecuada, de modo que un atacante puede ganar una ventana temporal para observar estado parcial o alterarlo entre operaciones. Variantes relevantes para seguridad incluyen TOCTOU (comprobar-y-usar), fallos de atomicidad en lógica financiera y bugs de reentrada en manejadores de señales. La explotación a menudo requiere planificación precisa, golpear el kernel desde pools de hilos o trucos de sistema de archivos (renombrados, symlinks). Defensas: bloqueos correctos, transacciones, compare-and-swap atómico, APIs basadas en descriptores (openat, fstatat), diseños idempotentes y herramientas como ThreadSanitizer.
● Ejemplos
- 01
CVE-2016-5195 (Dirty COW): condición de carrera en el manejo COW del kernel Linux.
- 02
Carrera de sistema de archivos que permite sustituir un archivo entre access() y open().
● Preguntas frecuentes
¿Qué es Condición de carrera?
Defecto en el que la seguridad o corrección del sistema depende del momento u orden de operaciones concurrentes, permitiendo a un atacante intercalar acciones y eludir comprobaciones. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.
¿Qué significa Condición de carrera?
Defecto en el que la seguridad o corrección del sistema depende del momento u orden de operaciones concurrentes, permitiendo a un atacante intercalar acciones y eludir comprobaciones.
¿Cómo defenderse de Condición de carrera?
Las defensas contra Condición de carrera combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Condición de carrera?
Nombres alternativos comunes: Bug de concurrencia.