cpufreq: zero-initialize policy cpumask before sysfs publication (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.22 % · percentile 12 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
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.
References
- https://git.kernel.org/stable/c/e13370c5b549712f49f80234df249303381c53b4
- https://git.kernel.org/stable/c/e807920031ca32b668f9e7a1efbd21858f03d64b
- https://git.kernel.org/stable/c/ca52482508b3ac9febe74ca4f732647d394727b8
- https://git.kernel.org/stable/c/06f273d29e5e0fe5c775a65c563fbeed8cd94c7a
- https://git.kernel.org/stable/c/0de2f3918fbbbb767e7e716178194b66560dd12a
- https://git.kernel.org/stable/c/6e166b9281dec98aed19213a84235250e5fdb081
- https://git.kernel.org/stable/c/bbc0472d2270bf732142ca71579d6ede636174ed
- https://git.kernel.org/stable/c/54d37bcf2f497140b9207968557ddb484058e749
European references
- ENISA EUVD · EUVD-2026-86759
- GCVE · GCVE-0-2026-97905
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1375 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1289 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1253 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < e13370c5b549712f49f80234df249303381c53b4 ; affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < e807920031ca32b668f9e7a1efbd21858f03d64b ; affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < ca52482508b3ac9febe74ca4f732647d394727b8 ; affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < 06f273d29e5e0fe5c775a65c563fbeed8cd94c7a ; affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < 0de2f3918fbbbb767e7e716178194b66560dd12a ; affected 2fc3384dc75bf7333384c7a16d12c796f61c3f56 < 6e166b9281dec98aed19213a84235250e5fdb081 |
| Linux · Linux | affected 4.2 ; unaffected 0 < 4.2 ; unaffected 5.10.271 ≤ 5.10.* ; unaffected 5.15.222 ≤ 5.15.* ; unaffected 6.1.189 ≤ 6.1.* ; unaffected 6.6.158 ≤ 6.6.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |