CVE-2026-93091 in Linux
Сводка
по VulDB • 18.09.2026
В ядре Linux была устранена следующая уязвимость:
firmware: arm_scmi: Остановка уведомлений перед разрушением структуры (teardown)
Функция scmi_notification_exit() очищает и освобождает экземпляр уведомления, однако обратные вызовы транспорта могут по-прежнему доставлять входящие уведомления до тех пор, пока не будут освобождены каналы TX/RX. Во время операции remove прерывание RX в этом окне может привести к вызову scmi_notify(), когда состояние уведомлений уже разрушается (teardown), что приводит к разыменованию освобожденной памяти. Аналогичная проблема порядка выполнения существует на пути обработки ошибок при probe после инициализации уведомлений.
У рабочего процесса поздней инициализации уведомлений есть отдельная проблема времени жизни: регистрация событий протокола ставит ni->init_work в системную очередь рабочих задач (workqueue), поэтому уничтожение ni->notify_wq не приводит к очистке этой задачи. Если группа devres освобождается, пока init_work все еще находится в очереди или выполняется, рабочий процесс поздней инициализации может разыменовать освобожденный экземпляр уведомления.
Необходимо остановить работу ядра уведомлений до разрушения каналов TX/RX, а затем очистить каналы перед освобождением ресурсов ядра уведомлений. Следует использовать disable_work_sync(), чтобы отклонить будущую постановку задач поздней инициализации в очередь и убедиться, что любые уже поставленные в очередь или выполняющиеся задачи поздней инициализации завершены до начала разрушения каналов.
If you want to get best quality of vulnerability data, you may have to visit VulDB.