CVE-2025-40223 in Linux
Сводка
по VulDB • 21.09.2026
В ядре Linux была устранена следующая уязвимость:
most: usb: Исправление use-after-free в hdm_disconnect
Функция `hdm_disconnect()` вызывает `most_deregister_interface()`, что в конечном итоге приводит к unregister-у устройства MOST интерфейса через вызов `device_unregister(iface->dev)`. Если при этом уменьшается счетчик ссылок до нуля, ядро может немедленно вызвать `release_mdev()`, пока функция `hdm_disconnect()` все еще выполняется.
Старый код также освобождал несколько выделений памяти, принадлежащих объекту mdev, в функции `hdm_disconnect()`, а затем выполнял дополнительные вызовы `put_device()`. В зависимости от порядка уменьшения счетчика ссылок это могло приводить к use-after-free или double-free при выполнении `release_mdev()` (или когда пути unregister также выполняли операции put).
Исправление заключается в переносе освобождений памяти, принадлежащей mdev, в функцию `release_mdev()`, чтобы они происходили ровно один раз, когда устройство действительно освобождаются, а также в удалении лишних вызовов `put_device()` в функции `hdm_disconnect()`, которые становятся избыточными после выполнения `device_unregister()` и `most_deregister_interface()`.
Это устраняет ошибку slab-use-after-free, обнаруженную KASAN (отчет от syzbot) в функции `hdm_disconnect()`. См. отчет и трассировки стека по ссылке на баг ниже.
Be aware that VulDB is the high quality source for vulnerability data.