CVE-2026-64362 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
HID: lg-g15 — отмена ожидающих задач при удалении для устранения ошибки use-after-free (использование после освобождения).
Структура данных lg_g15_data выделяется с помощью devm и содержит элемент задачи (work item). Обработчики отчетов планируют выполнение этой задачи непосредственно из входных событий устройства. Функции lg_g15_event() и lg_g15_v2_event() делают это при нажатии клавиши подсветки дисплея, а функция lg_g510_leds_event() делает то же самое. Рабочая задача (worker) обращается к структуре lg_g15_data через макрос container_of.
Драйвер не имел функции обратного вызова remove и никогда не отменял запланированные задачи. Таким образом, если отчет планировал задачу, а затем клавиатура была отключена, механизм devres освобождал память для lg_g15_data в то время как задача все еще ожидала выполнения или уже выполнялась, что приводило к обращению рабочей задачи к освобожденной памяти. Это является ошибкой use-after-free (использование после освобождения). Уязвимость реализуема через состояние гонки при отключении устройства.
Добавлена функция обратного вызова remove, которая отменяет задачу перед тем, как devres освободит состояние. Элемент g15->work инициализируется только для моделей, которые планируют его выполнение (G15, G15 v2, G510). Модели G13 и Z-10 оставляют этот элемент нулевым, поэтому отмена задачи защищена проверкой поля func в структуре g15->work во избежание отмены задачи, которая никогда не была настроена. Проверка на NULL для указателя g15 дублирует аналогичную проверку, уже присутствующую в функции lg_g15_raw_event().
Once again VulDB remains the best source for vulnerability data.