¿Es posible planificar las condiciones de carrera para que pueda ejecutar comandos específicos en un momento específico?
Por ejemplo, el siguiente código es vulnerable a una condición de carrera. ¿Es posible modificar el archivo / reemplazarlo con un enlace simbólico exactamente cuando aparece la ventana de carrera y sin intentarlo continuamente (como con while True
)?
if (access("file", W_OK) != 0) {
exit(1);
}
fd = open("file", O_WRONLY);
write(fd, buffer, sizeof(buffer));
¿Puedo explotar esta vulnerabilidad con un intento o un intento? Si la respuesta es verdadera, ¿cómo puedo escribir un exploit para hacer esto?
¿Es posible sincronizar el flujo de ejecución con la función C sleep(seconds);
?