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

cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed

Creating a child cpuset where cpuset.mems is never set leads to a div/0
when a VMA mempolicy with MPOL_F_RELATIVE_NODES rebinds in response to a
CPU hotplug event.

Reproduction steps:
1) Create a cgroup w/ cpuset controls (do not set cpuset.mems)
2) Move the task into the child cpuset
3) Create a VMA mempolicy for that task with MPOL_F_RELATIVE_NODES
4) unplug and hotplug a cpu
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
5) mempolicy rebind does a div/0 in mpol_relative_nodemask on the
call to __nodes_fold()

The cpuset code passes (cs->mems_allowed) which is not guaranteed to have
nodes to the rebind routine. Use cs->effective_mems instead, which is
guaranteed to have a non-empty nodemask once we reach that code path.

[ david: add a comment, slightly rephrase description ]
Published: 2026-08-15
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, a child cpuset that does not have cpuset.mems configured can trigger a division‑by‑zero error during a CPU hotplug event. When the kernel attempts to rebind a VMA memory policy that uses MPOL_F_RELATIVE_NODES, it passes an empty node mask to the rebind routine, causing a crash. The resulting kernel panic destroys system availability; all running processes are terminated and the host becomes unusable until a reboot or kernel restart. The weakness is an integer division by zero, corresponding to CWE‑190.

Affected Systems

The flaw resides in the Linux kernel’s cgroup cpuset implementation and affects all affected kernel releases before the patch. Anyone running an unpatched Linux kernel that creates a cpuset without setting cpuset.mems and subsequently performs a CPU hotplug operation is susceptible.

Risk and Exploitability

The exploit requires the attacker to create a cpuset and move a task into it, which typically requires root or kernel privileges. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, implying that public exploitation is not yet confirmed. However, because the flaw causes a kernel crash, the risk of denial of service is high. If an attacker can supply the conditions (cpuset creation and CPU hotplug) they can arbitrarily halt a system. The likely attack vector is local with elevated privileges; remote exploitation would require further steps to gain such privileges.

Generated by OpenCVE AI on August 15, 2026 at 21:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the fix for this CPuset rebind bug.
  • Configure all cgroups with a valid cpuset.mems value or set a default cpuset.mems before moving tasks into child cgroups.
  • If immediate kernel upgrade is not possible, disable or restrict CPU hotplug operations until the kernel is patched, or ensure that the system does not perform hotplug events while running applications in affected cpusets.

Generated by OpenCVE AI on August 15, 2026 at 21:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 15 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed Creating a child cpuset where cpuset.mems is never set leads to a div/0 when a VMA mempolicy with MPOL_F_RELATIVE_NODES rebinds in response to a CPU hotplug event. Reproduction steps: 1) Create a cgroup w/ cpuset controls (do not set cpuset.mems) 2) Move the task into the child cpuset 3) Create a VMA mempolicy for that task with MPOL_F_RELATIVE_NODES 4) unplug and hotplug a cpu echo 0 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu1/online 5) mempolicy rebind does a div/0 in mpol_relative_nodemask on the call to __nodes_fold() The cpuset code passes (cs->mems_allowed) which is not guaranteed to have nodes to the rebind routine. Use cs->effective_mems instead, which is guaranteed to have a non-empty nodemask once we reach that code path. [ david: add a comment, slightly rephrase description ]
Title cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-15T05:51:39.755Z

Reserved: 2026-08-09T03:40:39.899Z

Link: CVE-2026-72010

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:20:59.670

Modified: 2026-08-15T06:20:59.670

Link: CVE-2026-72010

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T21:15:03Z

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound