CVE-2026-97905

cpufreq: zero-initialize policy cpumask before sysfs publication

State
Published
Severity
Not scored
Published
Sep 25, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

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

cpufreq: zero-initialize policy cpumask before sysfs publication

cpufreq_policy_alloc() allocates policy->cpus with alloc_cpumask_var(), i.e. without __GFP_ZERO, unlike the sibling related_cpus and real_cpus masks. With CONFIG_CPUMASK_OFFSTACK=y the mask is a separate kmalloc_node() allocation, so its bitmap holds whatever the slab allocator left behind:

cpufreq_online() cpufreq_policy_alloc() alloc_cpumask_var(&policy->cpus) /* bitmap is uninitialized */ kobject_init_and_add() /* policy%u/ appears in sysfs */ cpufreq_policy_online() cpumask_copy(policy->cpus, cpumask_of(cpu)) /* first valid value */

This leaves a window in which the sysfs attributes are already reachable while policy->cpus is still garbage. show()/store() gate on policy_is_inactive(), i.e. cpumask_empty(policy->cpus), so a non-zero bitmap makes them run the attribute callbacks on a policy that is not initialized yet.

Fix this by using zalloc_cpumask_var() for policy->cpus.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before e13370c5b549712f49f80234df249303381c53b4Affected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before e807920031ca32b668f9e7a1efbd21858f03d64bAffected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before ca52482508b3ac9febe74ca4f732647d394727b8Affected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before 06f273d29e5e0fe5c775a65c563fbeed8cd94c7aAffected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before 0de2f3918fbbbb767e7e716178194b66560dd12aAffected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before 6e166b9281dec98aed19213a84235250e5fdb081Affected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before bbc0472d2270bf732142ca71579d6ede636174edAffected
  • 2fc3384dc75bf7333384c7a16d12c796f61c3f56 to before 54d37bcf2f497140b9207968557ddb484058e749Affected
LinuxLinux
  • 4.2Affected
  • before 4.2Not affected
  • 5.10.271 through 5.10.*Not affected
  • 5.15.222 through 5.15.*Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.111 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2.7 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.