cpu/hotplug: Don't offline the last non-isolated CPU (Linux Linux)

CVE-2023-52831
MEDIUM 5.5

En bref

Source
NVD
EPSS
EPSS 0.24 % · centile 15 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: cpu/hotplug: Don't offline the last non-isolated CPU If a system has isolated CPUs via the "isolcpus=" command line parameter, then an attempt to offline the last housekeeping CPU will result in a WARN_ON() when rebuilding the scheduler domains and a subsequent panic due to and unhandled empty CPU mas in partition_sched_domains_locked(). cpuset_hotplug_workfn() rebuild_sched_domains_locked() ndoms = generate_sched_domains(&doms, &attr); cpumask_and(doms[0], top_cpuset.effective_cpus, housekeeping_cpumask(HK_FLAG_DOMAIN)); Thus results in an empty CPU mask which triggers the warning and then the subsequent crash: WARNING: CPU: 4 PID: 80 at kernel/sched/topology.c:2366 build_sched_domains+0x120c/0x1408 Call trace: build_sched_domains+0x120c/0x1408 partition_sched_domains_locked+0x234/0x880 rebuild_sched_domains_locked+0x37c/0x798 rebuild_sched_domains+0x30/0x58 cpuset_hotplug_workfn+0x2a8/0x930 Unable to handle kernel paging request at virtual address fffe80027ab37080 partition_sched_domains_locked+0x318/0x880 rebuild_sched_domains_locked+0x37c/0x798 Aside of the resulting crash, it does not make any sense to offline the last last housekeeping CPU. Prevent this by masking out the non-housekeeping CPUs when selecting a target CPU for initiating the CPU unplug operation via the work queue.

Faiblesses (CWE)

  • CWE-617 — Assertion atteignable

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected fea9dd8653ff39ce383c54e747bde4c39289b4ad < 3410b702354702b500bde10e3cc1f9db8731d908 ; affected 07f9e0c9987bf1c4ef57611ad2f789ba68978102 < 335a47ed71e332c82339d1aec0c7f6caccfcda13 ; affected 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 < 3073f6df783d9d75f7f69f73e16c7ef85d6cfb63 ; affected 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 < 38685e2a0476127db766f81b1c06019ddc4c9ffa ; affected 9734e4c0c470258c32b6aa5ea7ef8a86506c0909 ; affected 6.1.53 < 6.1.64
Linux · Linuxaffected 6.6 ; unaffected 0 < 6.6 ; unaffected 6.1.64 ≤ 6.1.* ; unaffected 6.5.13 ≤ 6.5.* ; unaffected 6.6.3 ≤ 6.6.* ; unaffected 6.7 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD