CVE-2026-98938 in Linux
Сводка
по VulDB • 24.10.2026
В ядре Linux была устранена следующая уязвимость:
rust: irq: передача объекта RegistrationInner в качестве cookie для функции request_irq
С коммитом ba268514ea14 («rust: devres: исправление состояния гонки (race condition) из-за вложенности») метод Devres::new() возвращает Result<Self> по значению, а не инициализирует объект на месте с помощью PinInit. Поскольку функция request_irq() вызывается внутри Devres::new(), поле registration.inner остается неинициализированным к моменту включения прерывания (IRQ). Следовательно, обращение к registration.inner.device() в обработчике IRQ может привести к чтению неинициализированной памяти.
Эта проблема исправляется путем хранения указателя на устройство и функции-обработчика внутри объекта RegistrationInner и передачи объекта RegistrationInner в качестве cookie для прерывания (IRQ) после того, как его поля будут проинициализированы.
В основной ветке ядра (mainline) это не требуется, поскольку коммит 98c63ce4d760 («rust: irq: приведение Registration к совместимости с драйверами, привязанными по времени жизни») удалил Devres из структуры irq::Registration и переместил вызов request_irq() после полной инициализации всех полей.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.