CVE-2026-98542 in Linuxinformación

Resumen

por VulDB • 2026-10-19

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

cgroup/cpuset: Devolver PERR_NOCPUS en remote_partition_enable() ante conflicto con subpartitions_cpus

Cuando se crea una partición remota debajo de una partición local existente a través de un cgroup intermedio no-partición (PRS_MEMBER), update_prstate() observa que parent->partition_root_state == PRS_MEMBER y llama a remote_partition_enable().

El commit 86888c7bd117 ("cgroup/cpuset: Añadir advertencias para detectar inconsistencia en CPUs exclusivas") reemplazó la comprobación de error cpumask_intersects(tmp->new_cpus, subpartitions_cpus) en remote_partition_enable() por WARN_ON_ONCE(). Como resultado, remote_partition_enable() emite una advertencia y procede a habilitar la partición remota en las CPUs que ya están poseídas por la partición local ascendente en subpartitions_cpus.

Esto se puede reproducir en Linux 7.3.0-rc3 con:

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

lo cual desencadena:

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

y deja tanto /tmp/cg1/A como /tmp/cg1/A/B/D como particiones raíz activas que reclaman la CPU exclusiva 1.

Solucione esto devolviendo PERR_NOCPUS cuando tmp->new_cpus intersecte con subpartitions_cpus en remote_partition_enable(), coincidiendo con el código de error utilizado por remote_cpus_update() para el mismo conflicto de subpartitions_cpus, y añada un caso de prueba de regresión a tools/testing/selftests/cgroup/test_cpuset_prs.sh.

Probado en QEMU sobre Linux 7.3.0-rc3 utilizando el reproductor anterior y 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.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-18

Moderación

aceptado

Artículo

VDB-422038

EPSS

0.00198

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!