All vulnerabilities
CVE-2026-99065

Linux: cgroup/cpuset: Handle cpu hotplug race in guarantee_active_cpus()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in8d88d3221204fbb1b6dc2c0f2f2181fe49126639Also 23b1ab15ca91f2cffaf149d9bb0fafeb700c7db2CVE List
Published23 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 8d88d3221204fbb1b6dc2c0f2f2181fe49126639LinuxCVE List
  • 23b1ab15ca91f2cffaf149d9bb0fafeb700c7db2LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

cgroup/cpuset: Handle cpu hotplug race in guarantee_active_cpus()

With commit 2125c0034c5d ("cgroup/cpuset: Make cpuset hotplug processing synchronous"), the cpuset hotplug operation becomes synchronous. That commit also removes the code that handles race between cpuset_hotplug_work and cpu hotplug notifier with the assumption that race is now gone. Later commit 7a0aabd9ce69 ("cgroup/cpuset: Always use cpu_active_mask") updates the cpuset code to always use cpu_active_mask instead of cpu_online_mask in some places including guarantee_online_cpus() which is renamed to guarantee_active_cpus() in that commit.

In the case of CPU offline operation, cpu_active_mask is updated first in sched_cpu_deactivate() to remove the offline CPU before cpuset_handle_hotplug() is called to update the effective_cpus of the affected cpusets. The cpu_online_mask is updated after that near the end of the offline operation to remove the offline CPU. As a result, the race comes back and the top cpuset may not have any active CPU leading to NULL pointer dereference during the race window when guarantee_active_cpus() is called after cpu_active_mask is updated to remove the CPU to be torn down but before cpuset_handle_hotplug() is able to properly update the effective_cpus of the top cpuset.

Fix this by adding back the NULL cs check to avoid this problem.

Text from CVE List

Affected versions 8

  • Linuxaffected: 7a0aabd9ce697fc581ec691b21f748050fbcf004 before 8d88d3221204fbb1b6dc2c0f2f2181fe49126639CVE List
  • Linuxaffected: 7a0aabd9ce697fc581ec691b21f748050fbcf004 before a21c255159bfe0034740292e10d2e258feeeb10dCVE List
  • Linuxaffected: 7a0aabd9ce697fc581ec691b21f748050fbcf004 before 23b1ab15ca91f2cffaf149d9bb0fafeb700c7db2CVE List
  • Linuxaffected: 6.16CVE List
  • Linuxunaffected: all versions before 6.16CVE List
  • Linuxunaffected: 6.18.57 through 6.18.*CVE List
  • Linuxunaffected: 7.2.11 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3