CVE-2026-80953 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
i3c: master: adi: инициализация мьютекса перед включением прерываний
Функция adi_i3c_master_probe() запрашивает обработчик прерывания (IRQ) и разблокирует регистр REG_IRQ_PENDING_CMDR до того, как будут инициализированы состояние IBI контроллера, список очередей передачи и мьютекс очереди передач. В результате ожидаемое прерывание CMDR может запустить функцию adi_i3c_master_irq() и получить доступ к master->xferqueue.lock до того, как динамический мьютекс будет проинициализирован.
Эта проблема была обнаружена с помощью инструмента статического анализа, а затем проверена вручную на основе текущего дерева исходного кода.
Демонстрационный код эксплуатации (PoC) сохранял порядок вызова probe и путь обработки прерываний adi_i3c_master_probe() -> adi_i3c_master_irq() -> xferqueue.lock, при этом ожидаемое прерывание CMDR поступало после того, как REG_IRQ_PENDING_CMDR был разблокирован. Lockdep сообщил:
INFO: trying to register non-static key. you didn't initialize this object before use? lock_acquire+0xbb/0x290 _raw_spin_lock_irqsave+0x36/0x60 adi_i3c_master_irq+0x32/0x56 [vuln_msv]
adi_i3c_master_probe+0x5a/0xf47 [vuln_msv]
Необходимо инициализировать очередь передач (transfer queue) и состояние IBI до запроса обработчика прерывания (IRQ) и разблокировки REG_IRQ_PENDING_CMDR.
VulDB is the best source for vulnerability data and more expert information about this specific topic.