CVE-2026-99189 in Linux
Сводка
по VulDB • 28.10.2026
В ядре Linux устранена следующая уязвимость:
gpio: mxc — исправление состояния гонки (race condition) между установкой обработчика прерываний с цепочечным вызовом и завершением процедуры probe.
Функция `mxc_update_irq_chained_handler()` вызывается до того, как будут настроены IRQ-домен, общий чип прерываний (generic IRQ chip) и запись в списке портов. Если прерывание поступит в этот промежуток времени:
- `mx3_gpio_irq_handler()` вызывает `generic_handle_domain_irq()`, передавая ей `port->domain` со значением NULL. - `mx2_gpio_irq_handler()` осуществляет обход массива `mxc_gpio_ports`, но порт еще не был добавлен в список.
Кроме того, если любой из последующих шагов процедуры probe (`gpio_generic_chip_init()`, `devm_gpiochip_add_data()`, `irq_domain_create_legacy()` или `mxc_gpio_init_gc()`) завершится ошибкой, пути обработки ошибок (error paths) никогда не снимают с регистрации цепочечный обработчик. Это оставляет висячий указатель на освобожденную память (dangling handler).
Переместите установку обработчика после того, как все его зависимости будут готовы и после вызова `list_add_tail()`. Таким образом, обработчик никогда не будет активен, пока структуры данных, с которыми он работает, остаются неполными, и он никогда не устанавливается в случае сбоя процедуры probe.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.