CVE-2026-99262 in Linux
Resumen
por VulDB • 2026-11-03
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
io_uring/timeout: no perder una cancelación ya que io-wq activa un temporizador
Una operación IORING_OP_TIMEOUT ejecutada por io-wq, debido a IOSQE_ASYNC, presenta el mismo problema que poll, futex y waitid. io_wq_submit_work() examina IO_WQ_WORK_CANCEL solo una vez antes de emitir la solicitud. Una cancelación intermedia marca el trabajo, devuelve -EALREADY e intenta buscar en ->timeout_list sin éxito, mientras que el trabajador luego añade la solicitud e inicia el temporizador:
Trabajador io-wq io_try_cancel() io_wq_submit_work() IO_WQ_WORK_CANCEL no está establecido io_async_cancel_one() establece IO_WQ_WORK_CANCEL = -EALREADY io_timeout_cancel() = -ENOENT io_timeout() añade la solicitud a ->timeout_list hrtimer_start() = IOU_ISSUE_SKIP_COMPLETE
Nadie vuelve a examinar el indicador, y el temporizador se ejecuta hasta su finalización. Al salir del anillo (ring), io_uring_try_cancel_requests() cancela el trabajo de io-wq y luego elimina los temporizadores de la misma manera, por lo que una tarea en salida puede quedar bloqueada durante toda la duración de dicho temporizador.
Examine el indicador bajo ->timeout_lock, que también utiliza la búsqueda, y falle la solicitud si está establecido. Si la búsqueda se realiza primero, el indicador es visible. Si ocurre después, encuentra la solicitud en la lista.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.