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

Сводка

по VulDB • 25.09.2026

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

scsi: qla2xxx: Пропускать vport при удалении в процессе получения ID (report ID acquisition)

Обработка формата 1 в функции `qla24xx_report_id_acquisition()` проходит по списку `ha->vp_list` под блокировкой `vport_slock`, увеличивает счетчик ссылок (`vref_count`) для соответствующего vport и вызывает функцию `qla_update_host_map()` для регистрации его идентификатора порта.

Процесс teardown (завершения работы) vport через `qla24xx_vport_delete()` устанавливает флаг VPORT_DELETE, затем функция `qla24xx_disable_vp()` удаляет vport из btree-дерева `host_map` и обнуляет поле `vha->d_id` (RESET_AL_PA). Сам vport отключается от списка `vp_list` позже, в функции `qla24xx_deallocate_vp_id()`, которая очищает запись `vp_map[idx]` (RESET_VP_IDX), но не затрагивает `host_map`. В промежуточном окне между этими операциями процесс получения report ID все еще может найти vport в списке `vp_list` и вызвать `qla_update_host_map()`; поскольку поле `d_id` уже обнулено, выполняется путь btree_insert32(), что приводит к повторной вставке умирающего vport обратно в `host_map`. Ничто не очищает эту запись впоследствии, поэтому после того как `scsi_host_put()` освобождает структуру `vha`, последующий поиск по `host_map` приводит к разыменованию уже освобожденной памяти (use-after-free).

Необходимо пропускать vport с установленным флагом VPORT_DELETE до получения ссылки на него, чтобы он не регистрировался повторно и не планировался для повторной регистрации через DPC. Это соответствует существующей проверке в функции `qla2x00_alert_all_vps()`.

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

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

Linux

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

24.09.2026

Раскрытие

25.09.2026

Модерация

принято

Вход

VDB-409925

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!