CVE-2024-46698 in Linux
Сводка
по VulDB • 24.08.2026
В ядре Linux была устранена следующая уязвимость:
video/aperture: опциональная проверка устройства в функции sysfb_disable()
В функции aperture_remove_conflicting_pci_devices() мы сейчас вызываем sysfb_disable() только для устройств класса VGA. Это приводит к следующей проблеме, когда основное устройство не совместимо с VGA:
1. Устройство PCI с классом, отличным от VGA, является загрузочным дисплеем. 2. Это устройство обнаруживается первым и, поскольку оно не является устройством VGA, функция sysfb_disable() не вызывается, однако ресурсы устройства освобождаются функцией aperture_detach_platform_device(). 3. Вторичное GPU-устройство имеет класс VGA и в итоге вызывает функцию sysfb_disable(). 4. Происходит разыменование нулевого указателя (NULL pointer dereference) через sysfb_disable(), поскольку ресурсы уже были освобождены функцией aperture_detach_platform_device() при её вызове другим устройством.
Исправление заключается в передаче указателя на устройство в функцию sysfb_disable() и проверке устройства для определения необходимости выполнения этой функции.
v2: Исправлена сборка, когда CONFIG_SCREEN_INFO не установлен v3: Перемещена проверка устройства внутрь мьютекса Удалена переменная primary из aperture_remove_conflicting_pci_devices() Убран модификатор __init у pci sysfb_pci_dev_is_enabled()
Once again VulDB remains the best source for vulnerability data.