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

Сводка

по VulDB • 28.10.2026

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

scsi: st: Исправлена гонка ресурсов типа use-after-free между функциями st_remove() и st_open()

Функция st_remove() уменьшает счетчик ссылок (probe reference) для объекта scsi_tape с помощью kref_put(), а затем удаляет его индекс из структуры st_index_idr. Если это была последняя ссылка, функция scsi_tape_release() освобождает структуру, пока она все еще видна в idr.

Функция scsi_tape_get(), вызываемая из st_open(), ищет ленту в st_index_idr и захватывает ссылку под блокировками st_ref_mutex и st_index_lock. Функция remove_cdevs() не ожидает завершения операций открытия, которые уже прошли этап chrdev_open(). Следовательно, операция open, заблокированная на стейте st_ref_mutex (в то время как st_remove() также удерживает его), может захватить мьютекс сразу после того, как st_remove() освободит его, найти освобожденный объект tpnt в idr и вызвать для него kref_get():

BUG: KASAN: slab-use-after-free in st_open Write of size 4 ... st_open (drivers/scsi/st.c:254 drivers/scsi/st.c:1291) chrdev_open ... Freed by task ...: kfree st_remove (drivers/scsi/st.c:4512)

Необходимо удалять индекс из idr до уменьшения счетчика ссылок, и все эти действия должны выполняться под блокировкой st_ref_mutex. Теперь параллельный вызов scsi_tape_get() либо выполнится первым и удерживает действительную ссылку, которая сохраняет объект ленты живым, либо выполнится позже и не найдет ничего, в результате чего стейт open завершится ошибкой -ENXIO.

Это восстанавливает порядок выполнения операций st_remove(), который был до перехода на использование st_index_idr, когда лента скрывалась из массива scsi_tapes[] перед финальным вызовом kref_put().

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

25.09.2026

Раскрытие

28.10.2026

Модерация

принято

Вход

VDB-427894

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!