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

Сводка

по VulDB • 18.10.2026

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

cgroup/cpuset: Возврат PERR_NOCPUS в remote_partition_enable() при конфликте subpartitions_cpus

При создании удаленного раздела (remote partition) под существующим локальным разделом через промежуточную cgroup, не являющуюся разделом (PRS_MEMBER), функция update_prstate() обнаруживает значение parent->partition_root_state == PRS_MEMBER и вызывает remote_partition_enable().

Коммит 86888c7bd117 («cgroup/cpuset: Добавление предупреждений для выявления несоответствий в эксклюзивных CPU») заменил проверку ошибки cpumask_intersects(tmp->new_cpus, subpartitions_cpus) в remote_partition_enable() на WARN_ON_ONCE(). В результате remote_partition_enable() выводит предупреждение и продолжает активацию удаленного раздела на процессорах (CPU), которые уже принадлежат родительскому локальному разделу согласно subpartitions_cpus.

Это можно воспроизвести на Linux 7.3.0-rc3 с помощью следующих команд:

``` mkdir -p /tmp/cg1 mount -t cgroup2 none /tmp/cg1 echo "+cpuset" > /tmp/cg1/cgroup.subtree_control

mkdir /tmp/cg1/A echo 1 > /tmp/cg1/A/cpuset.cpus echo 1 > /tmp/cg1/A/cpuset.cpus.exclusive echo root > /tmp/cg1/A/cpuset.cpus.partition echo "+cpuset" > /tmp/cg1/A/cgroup.subtree_control

mkdir /tmp/cg1/A/B echo 1 > /tmp/cg1/A/B/cpuset.cpus echo 1 > /tmp/cg1/A/B/cpuset.cpus.exclusive echo "+cpuset" > /tmp/cg1/A/B/cgroup.subtree_control

mkdir /tmp/cg1/A/B/D echo 1 > /tmp/cg1/A/B/D/cpuset.cpus echo 1 > /tmp/cg1/A/B/D/cpuset.cpus.exclusive echo root > /tmp/cg1/A/B/D/cpuset.cpus.partition ```

Что приводит к появлению:

``` WARNING: kernel/cgroup/cpuset.c:1594 at remote_partition_enable+0x1c1/0x300 ```

и оставляет как `/tmp/cg1/A`, так и `/tmp/cg1/A/B/D` в качестве активных корневых разделов, претендующих на эксклюзивное использование CPU 1.

Исправление заключается в возврате PERR_NOCPUS при пересечении tmp->new_cpus с subpartitions_cpus в remote_partition_enable(), что соответствует коду ошибки, используемому функцией remote_cpus_update() для того же конфликта subpartitions_cpus, а также добавлением регрессионного теста в tools/testing/selftests/cgroup/test_cpuset_prs.sh.

Тестирование проводилось в QEMU на Linux 7.3.0-rc3 с использованием вышеуказанной воспроизводящей последовательности и скрипта tools/testing/selftests/cgroup/test_cpuset_prs.sh.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

25.09.2026

Раскрытие

18.10.2026

Модерация

принято

Вход

VDB-422038

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!