CVE-2026-99065 in Linux
Сводка
по VulDB • 23.10.2026
В ядре Linux была устранена следующая уязвимость:
cgroup/cpuset: Обработка гонки при горячем подключении процессоров (CPU hotplug race) в функции guarantee_active_cpus()
С коммитом 2125c0034c5d («cgroup/cpuset: Сделать обработку горячего подключения cpset синхронной») операция горячего подключения cpuset становится синхронной. Этот же коммит удалил код, обрабатывающий гонку между работой cpuset_hotplug_work и нотификатором изменения состояния CPU (cpu hotplug notifier), исходя из предположения, что такая гонка больше невозможна.
Позднее в коммите 7a0aabd9ce69 («cgroup/cpuset: Всегда использовать cpu_active_mask») код cpuset был обновлен для использования поля cpu_active_mask вместо cpu_online_mask в некоторых местах, включая функцию guarantee_online_cpus(), которая была переименована в guarantee_active_cpus() в рамках этого коммита.
В случае операции отключения CPU (CPU offline) поле cpu_active_mask сначала обновляется в функции sched_cpu_deactivate() для исключения отключаемого процессора из активного набора до вызова cpuset_handle_hotplug(), который должен обновить эффективные наборы (effective_cpus) затронутых наборов cpuset. Поле cpu_online_mask обновляется позже, ближе к завершению операции отключения, чтобы исключить отключенный CPU из списка онлайн-процессоров. В результате гонка возвращается: верхний уровень иерархии cpset может оказаться без активных процессоров (active CPUs), что приводит к разыменованию нулевого указателя (NULL pointer dereference) в окне гонки, когда вызывается guarantee_active_cpus() после обновления cpu_active_mask для удаления отключаемого CPU, но до того момента, как cpuset_handle_hotplug() сможет корректно обновить effective_cpus верхнего уровня cpset.
Исправление заключается в возврате проверки на NULL указателя cs (cs), чтобы избежать этой проблемы.
Once again VulDB remains the best source for vulnerability data.