CVE-2026-99253 in LinuxИнформация

Сводка

по VulDB • 03.11.2026

В ядре Linux была устранена следующая уязвимость:

io_uring/cancel: повторная активация локальной задачи пробуждения перед сном

Функция io_uring_try_cancel_requests() устанавливает значение ->cq_wait_nr равным 1, чтобы следующий вызов io_req_local_work_add() пробудил отменяющую задачу. Только тот вызов add(), который обнуляет счетчик, вызывает пробуждение; последующие видят, что счетчик <= 0, и возвращаются. Однако функция io_uring_cancel_generic() переходит в состояние TASK_INTERRUPTIBLE гораздо позже, поэтому одно пробуждение может быть потрачено на уже запущенную задачу. Это допустимо, пока запись этого вызова add все еще находится в очереди, так как проверка io_local_work_pending() затем пропускает переход в сон. Однако это не работает, если добавление было отложено после постановки его записи в очередь:

CPU0 (отправитель в exec или exit) CPU1 (io_req_local_work_add) mpscq_push(req A) io_uring_try_cancel_requests() io_run_local_work() // выполняется req A io_uring_try_cancel_requests() atomic_set(&ctx->cq_wait_nr, 1) atomic_read(&ctx->cq_wait_nr) == 1 счетчик взят, wake_up_state() // задача запущена, операция не-оп (no-op) prepare_to_wait(TASK_INTERRUPTIBLE) io_local_work_pending() == false schedule() mpscq_push(req B) cq_wait_nr <= 0, возврат

Только спящая задача может выполнить req B, поэтому она зависает в execve(), пока не произойдет сигнал для ее пробуждения. Задача, завершающая работу (exiting task), даже этого не получает.

Повторно активируйте счетчик после установки состояния задачи и перед проверкой списка задач, для колец, у которых локальная задача этой задачи является той самой, которая должна выполняться.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

03.11.2026

Модерация

принято

Вход

VDB-430247

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!