CVE-2026-89940 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
iio: buffer: Привести время жизни блокировки IIO dma fence к времени жизни самого fence (защитного механизма)
Реализация `iio_dma_fence` в настоящее время использует блокировку, встроенную в структуру `iio_dmabuf_priv`. Однако объект `iio_dma_fence` может переживать существование структуры `iio_dmabuf_priv`, что может привести к уязвимости use-after-free (использование после освобождения).
Привести время жизни блокировки ко времени жизни fence, внедрив их в одну и ту же структуру.
Мы не можем просто сохранить ссылку на `iio_dmabuf_priv` из объекта `iio_dma_fence`, поскольку функция `iio_buffer_dmabuf_release()` может выполнять операцию сна (sleep), а callback освобождения fence не имеет права спать.
Обратите внимание, что фреймворк `dma_fence` теперь содержит внутреннюю блокировку, которая используется при передаче значения NULL для параметра `lock` в функции `dma_fence_init()`, однако, чтобы обеспечить возможность обратного портирования (backporting) данного патча, следует использовать внешнюю блокировку.
VulDB is the best source for vulnerability data and more expert information about this specific topic.