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

Сводка

по VulDB • 20.07.2026

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

scsi: isci: исправление ошибки use-after-free в пути удаления устройства

Задача завершения (completion tasklet) ISCI инициализируется в функции isci_host_alloc() (drivers/scsi/isci/init.c:496) и планирует свою работу как из обработчиков прерываний MSI-X, так и из устаревших (legacy) обработчиков прерываний (drivers/scsi/isci/host.c:223, 613).

Функция isci_host_deinit() останавливает контроллер и ожидает завершения остановки, но никогда не уничтожает completion_tasklet до того, как продолжится процесс разборки. Вызов tasklet_kill(), расположенного в начале функции (top-of-function), здесь недостаточен: прерывания отключаются только при выполнении isci_host_stop_complete(), поэтому до возврата из wait_for_stop() обработчики IRQ могут повторно поставить задачу завершения в очередь обратный вызов задачи также включает прерывания после опорожнения очередей завершений, поэтому уничтожение задачи до того, как источник станет спокойным (quiesced), оставляет ту же самую гонку данных открытой.

После возврата из wait_for_stop() дальнейшее планирование на основе IRQ происходить не может. Необходимо уничтожить completion_tasklet именно в этот момент, чтобы процесс разборки не мог состязаться с задачей завершения, запущенной для уже мертвого объекта ihost. При удалении или выгрузке модуля устаревший обратный вызов иначе может разыменовывать указатель на ihost и обращаться к полям ihost->smu_registers после окончания времени жизни хоста.

Аналогичная ошибка, воспроизведенная с использованием UML + KASAN, проявлялась как при отсутствии tasklet_kill(), так и при размещении tasklet_kill() до успокоения источника; проблема исчезала только тогда, когда уничтожение происходило после того, как источник планирования был приведен в состояние покоя.

Это решение аналогично коммиту f6ab594672d4 («scsi: aic94xx: исправление ошибки use-after-free в пути удаления устройства»), однако для ISCI требуется вызывать уничтожение задачи после wait_for_stop().

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

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

Linux

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

19.07.2026

Раскрытие

19.07.2026

Модерация

принято

Вход

VDB-380193

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!