LiveActive security incident?Get immediate response
CVE Record

CVE-2024-36888: workqueue: Fix selection of wake_cpu in kick_pool()

In the Linux kernel, the following vulnerability has been resolved: workqueue: Fix selection of wake_cpu in kick_pool() With cpu_possible_mask=0-63 and cpu_online_mask=0-7 the following kernel oops was observed: smp: Bringing up secondary CPUs ... smp: Brought up 1 node, 8 CPUs Unable to handle kernel pointer dereference in virtual kernel address space Failing address: 0000000000000000 TEID: 0000000000000803 [..] Call Trace: arch_vcpu_is_preempted+0x12/0x80 select_idle_sibling+0x42/0x560 select_task_rq_fair+0x29a/0x3b0 try_to_wake_up+0x38e/0x6e0 kick_pool+0xa4/0x198 __queue_work.part.0+0x2bc/0x3a8 call_timer_fn+0x36/0x160 __run_timers+0x1e2/0x328 __run_timer_base+0x5a/0x88 run_timer_softirq+0x40/0x78 __do_softirq+0x118/0x388 irq_exit_rcu+0xc0/0xd8 do_ext_irq+0xae/0x168 ext_int_handler+0xbe/0xf0 psw_idle_exit+0x0/0xc default_idle_call+0x3c/0x110 do_idle+0xd4/0x158 cpu_startup_entry+0x40/0x48 rest_init+0xc6/0xc8 start_kernel+0x3c4/0x5e0 startup_continue+0x3c/0x50 The crash is caused by calling arch_vcpu_is_preempted() for an offline CPU. To avoid this, select the cpu with cpumask_any_and_distribute() to mask __pod_cpumask with cpu_online_mask. In case no cpu is left in the pool, skip the assignment. tj: This doesn't fully fix the bug as CPUs can still go down between picking the target CPU and the wake call. Fixing that likely requires adding cpu_online() test to either the sched or s390 arch code. However, regardless of how that is fixed, workqueue shouldn't be picking a CPU which isn't online as that would result in unpredictable and worse behavior.

MediumCVSS 6.2Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2024-36888 is a Linux kernel availability bug. Under certain CPU online/offline configurations, the workqueue code can select an offline CPU and trigger a kernel crash. The published impact is denial of service, not data theft or code execution.

Executive priority

Handle through normal kernel patch governance, with higher priority where local denial of service would affect critical services or shared infrastructure. This is not evidenced as internet-exploited, but a kernel crash can still cause business disruption.

Technical view

The flaw is a NULL pointer dereference in Linux workqueue kick_pool() CPU selection. With possible CPUs exceeding online CPUs, the kernel may call arch_vcpu_is_preempted() for an offline CPU. Upstream fixed selection by masking with cpu_online_mask, while noting a remaining race may need scheduler or s390 handling.

Likely exposure

Exposure is most likely on Linux systems running affected kernel versions around 6.6, 6.8.10, and 6.9 with CPU hotplug, virtualization, or configurations where many CPUs are possible but not online. Distribution backports may change version-based conclusions, so confirm using vendor kernel advisories.

Exploitation context

The CVSS vector is local, low complexity, no privileges, no user interaction, with high availability impact. The provided sources do not show active exploitation, and KEV is false. Treat this as a local denial-of-service risk rather than a remote compromise issue.

Researcher notes

The source describes a specific crash path and fix direction, but also states the patch does not fully eliminate a race where CPUs go offline after selection. Research should focus on downstream backports, architecture-specific behavior, and whether later scheduler or s390 fixes were issued.

Mitigation direction

  • Update affected Linux kernels to vendor releases containing the upstream stable fixes.
  • Check Linux distribution advisories for backported fixes and supported kernel package names.
  • Prioritize highly available, multi-tenant, virtualized, or CPU hotplug-capable systems.
  • Monitor for follow-up kernel fixes because upstream notes a remaining CPU-offline race.
  • Avoid relying only on mainline version strings when distributions backport patches.

Validation and detection

  • Inventory running kernel versions and map them to distribution CVE advisories.
  • Confirm deployed kernels include one of the referenced upstream stable commits or equivalent backport.
  • Review kernel logs for oops traces involving kick_pool(), try_to_wake_up(), or arch_vcpu_is_preempted().
  • Validate CPU possible and online masks on impacted platforms during maintenance review.
  • Track whether vendors publish additional scheduler or s390 follow-up fixes.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-476: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2024-36888 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
6.2 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
2ADP providers
4Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
6.2CVSS 3.1MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H2.53.6CISA-ADP

Vulnerability scoring details

Base CVSS 3.1 score

6.2Medium
CVSS 3.1 vector shape for CVE-2024-36888Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
cvssV3_1other:ssvc
CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux8639ecebc9b1796d7074751a350462f5e1c61cd4, 8639ecebc9b1796d7074751a350462f5e1c61cd4, 8639ecebc9b1796d7074751a350462f5e1c61cd4unaffected
LinuxLinux6.6, 0, 6.6.31, 6.8.10, 6.9affected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-476 · source CWE mapping

NULL Pointer Dereference

NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.