Skip to main content

Linux Kernel CVE-2026-31480

| EUVDEUVD-2026-24839 MEDIUM
Improper Locking (CWE-667)
2026-04-22 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-mvjq-gq62-vxrr
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

7
Analysis Generated
Apr 28, 2026 - 01:30 vuln.today
CVSS changed
Apr 27, 2026 - 23:22 NVD
5.5 (MEDIUM)
Patch released
Apr 27, 2026 - 23:17 nvd
Patch available
Patch available
Apr 22, 2026 - 16:33 EUVD
EUVD ID Assigned
Apr 22, 2026 - 14:22 euvd
EUVD-2026-24839
Analysis Generated
Apr 22, 2026 - 14:22 vuln.today
CVE Published
Apr 22, 2026 - 14:16 nvd
MEDIUM 5.5

DescriptionCVE.org

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

tracing: Fix potential deadlock in cpu hotplug with osnoise

The following sequence may leads deadlock in cpu hotplug:

task1 task2 task3 ----- ----- -----

mutex_lock(&interface_lock)

[CPU GOING OFFLINE]

cpus_write_lock(); osnoise_cpu_die(); kthread_stop(task3); wait_for_completion();

osnoise_sleep(); mutex_lock(&interface_lock);

cpus_read_lock();

[DEAD LOCK]

Fix by swap the order of cpus_read_lock() and mutex_lock(&interface_lock).

AnalysisAI

Denial of service via deadlock in the Linux kernel tracing subsystem occurs when CPU hotplug operations interact with osnoise tracing thread lifecycle management. A local privileged user can trigger a deadlock by inducing CPU offline events while osnoise threads hold conflicting locks (interface_lock and cpus_read_lock), causing system hang. CVSS 5.5 reflects local attack vector and privilege requirement; EPSS 0.02% indicates low real-world exploitation likelihood despite deadlock severity.

Technical ContextAI

The vulnerability exists in the kernel's tracing infrastructure, specifically the osnoise (OS Noise) tracer which monitors operating system latency. The osnoise tracer uses kthreads that must be stopped during CPU hotplug events via the osnoise_cpu_die() handler. The root cause (CWE-667: Improper Locking) stems from lock ordering between cpus_read_lock() and mutex_lock(&interface_lock). When CPU hotplug acquires cpus_write_lock() and attempts to stop osnoise threads (which hold interface_lock), while another thread attempts to acquire cpus_read_lock() after interface_lock, a classic A-B-BA circular wait deadlock forms. The fix reorders lock acquisition to prevent this circular dependency.

RemediationAI

Vendor-released patches are available in stable kernel series: upgrade to Linux 5.15.203 or later, 6.1.168 or later, 6.6.131 or later, 6.12.80 or later, 6.18.21 or later, 6.19.11 or later, or 7.0 final release. The upstream fix (reordering cpus_read_lock and mutex_lock acquisition in the osnoise subsystem) is available via the commit hashes referenced in https://git.kernel.org/stable/ (commits 03474a01c1, 1f988573224, 7a41d4633cd, 7aa095ce7d2, cf929c21eee, ef41a85a550, f278b8ebf7e). No workaround is effective without patching; disabling osnoise tracing (via debugfs) prevents the deadlock condition from being triggered but sacrifices latency monitoring capability. Organizations unable to patch immediately should avoid CPU hotplug operations on systems with active osnoise tracing enabled until patched kernel is deployed.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

CVE-2026-31480 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy