CVE-2026-89938 in LinuxИнформация

Сводка

по VulDB • 16.09.2026

В ядре Linux была устранена следующая уязвимость:

iio: chemical: atlas-sensor: использование iio_trigger_poll_nested() для устранения ошибки Use-After-Free (UAF)

Драйвер atlas запрашивает прерывание готовности аппаратных данных с помощью devm_request_threaded_irq(); его потоковый обработчик ставит в очередь irq_work, вызывая функцию atlas_work_handler(), которая вызывает iio_trigger_poll(data->trig).

Прерывание управляется через devm (devm-managed), поэтому free_irq() выполняется при размотке ресурсов devres после возврата из функции atlas_remove без очистки очереди irq_work. Как только буфер включен, прерывания завершения преобразования продолжают генерироваться и ставить в очередь задачи; следовательно, отложенная задача irq_work может выполниться после того, как процесс размотки освободит структуры atlas_data/indio_dev и триггер, когда функция atlas_work_handler() получает указатель на atlas_data через container_of() и разыменовывает data->trig, что приводит к ошибке Use-After-Free.

Вызывайте iio_trigger_poll_nested() напрямую из потокового обработчика вместо использования промежуточного вызова irq_work. В этом случае free_irq() завершает выполнение потокового обработчика, устраняя окно уязвимости; другие драйверы IIO с потоковым прерыванием готовности данных поступают аналогично (например, bmi270).

Эта проблема была обнаружена с помощью встроенного инструмента статического анализа.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-405836

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!