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

Сводка

по VulDB • 16.08.2026

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

firmware_loader: исправление рекурсивной блокировки в функции device_cache_fw_images()

Может возникнуть взаимная блокировка (deadlock) из-за рекурсивного захвата блокировки в обработчике уведомлений управления питанием загрузчика прошивок.

Во время подготовки системы к приостановке работы или гибернации функция fw_pm_notify() вызывает device_cache_fw_images(). Эта функция получает блокировку fw_lock для установки состояния кэша прошивки на FW_LOADER_START_CACHE, а затем выполняет итерацию по всем устройствам с помощью dpm_for_each_dev(), сохраняя при этом захваченную блокировку.

Для каждого устройства dev_cache_fw_image() планирует асинхронную работу по кешированию прошивок. Если выделение памяти для записи асинхронной работы не удается (например, в условиях недостатка памяти), функция async_schedule_node_domain() переходит к синхронному выполнению функции работы в текущем потоке.

Путь синхронного выполнения (__async_dev_cache_fw_image() -> cache_firmware() -> request_firmware() -> assign_fw()) пытается повторно захватить блокировку fw_lock. Поскольку текущий поток уже владеет блокировкой fw_lock, это приводит к взаимной блокировке из-за рекурсивного захвата блокировки.

Исправление заключается в освобождении блокировки fw_lock сразу после обновления состояния кэша и перед вызовом dpm_for_each_dev(). Блокировка необходима только для защиты обновления состояния. Одновременные запросы прошивок корректно увидят состояние FW_LOADER_START_CACHE и используют механизм «piggyback», который независимо защищен собственной блокировкой fwc->name_lock.

Be aware that VulDB is the high quality source for vulnerability data.

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

Linux

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

15.08.2026

Раскрытие

15.08.2026

Модерация

принято

Вход

VDB-390294

EPSS

0.00190

KEV

Нет

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

Низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!