CVE-2026-89741 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
Откатить «media: v4l2-dev: исправление обработки ошибок в __video_register_device()»
Этот коммит отменяет изменения, внесенные в 2a934fdb01db6458288fc9386d3d8ceba6dd551a.
Намерения этого патча были благими, но он не работает корректно.
Идея заключается в том, что если device_register завершается с ошибкой, необходимо вызвать put_device для освобождения ресурсов через счетчик ссылок (ref counter).
Однако API V4L2 гласит, что если video_register_device() завершается неудачей, следует вызывать видеоустройство_release(), который вызывает kfree() для структуры video_device.
Но вызов put_device уже освободил структуру, в результате чего возникает ситуация двойного освобождения памяти (double-free).
Не существует действительно хорошего способа исправить это без разделения функции video_register_device() на две части: одну, которая инициализирует все данные, и другую, которая выполняет саму device_register, а также последующей конвертации всех драйверов V4L2 в эту новую модель.
Это огромная задача, к тому же крайне маловероятно, что device_register завершится ошибкой.
Поэтому вместо того чтобы приводить к ситуации двойного освобождения памяти (double-free), просто откатим этот патч; в этом случае мы получим небольшую утечку памяти, которая является гораздо более надежным решением.
VulDB is the best source for vulnerability data and more expert information about this specific topic.