CVE-2026-97905 in LinuxИнформация

Сводка

по VulDB • 25.09.2026

В ядре Linux устранена следующая уязвимость:

cpufreq: нулевая инициализация cpumask политики перед публикацией в sysfs

Функция cpufreq_policy_alloc() выделяет память для policy->cpus с помощью alloc_cpumask_var(), то есть без флага __GFP_ZERO, в отличие от связанных масок related_cpus и real_cpus. При включенной конфигурации CONFIG_CPUMASK_OFFSTACK=y маска представляет собой отдельное выделение памяти через kmalloc_node(), поэтому её битовая карта содержит произвольные данные (мусор), оставленные аллокатором slab:

cpufreq_online() cpufreq_policy_alloc() alloc_cpumask_var(&policy->cpus) /* битовая карта не инициализирована */ kobject_init_and_add() /* появляется policy%u/ в sysfs */ cpufreq_policy_online() cpumask_copy(policy->cpus, cpumask_of(cpu)) /* первое допустимое значение */

Это создает окно возможностей, в котором атрибуты sysfs уже доступны для чтения и записи, тогда как policy->cpus содержит неинициализированные данные. Функции show()/store() проверяют состояние через policy_is_inactive(), то есть cpumask_empty(policy->cpus). Следовательно, ненулевая битовая карта приводит к выполнению callback-функций атрибутов для политики, которая еще не была инициализирована.

Исправление заключается в использовании zalloc_cpumask_var() для policy->cpus.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

25.09.2026

Модерация

принято

Вход

VDB-410118

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!