CVE-2022-49889

MEDIUM EPSS 5.3%
Published May 1, 20251y ago · Modified Jun 17, 20261w ago
5.5 CVSS 3.1
Medium
Find Similar
Published May 1, 2025 1y ago
Last Modified Jun 17, 2026 1w ago

Description

In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters() On some machines the number of listed CPUs may be bigger than the actual CPUs that exist. The tracing subsystem allocates a per_cpu directory with access to the per CPU ring buffer via a cpuX file. But to save space, the ring buffer will only allocate buffers for online CPUs, even though the CPU array will be as big as the nr_cpu_ids. With the addition of waking waiters on the ring buffer when closing the file, the ring_buffer_wake_waiters() now needs to make sure that the buffer is allocated (with the irq_work allocated with it) before trying to wake waiters, as it will cause a NULL pointer dereference. While debugging this, I added a NULL check for the buffer itself (which is OK to do), and also NULL pointer checks against buffer->buffers (which is not fine, and will WARN) as well as making sure the CPU number passed in is within the nr_cpu_ids (which is also not fine if it isn't). Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1204705

CVSS Details

Base Score
5.5
Exploitability
1.8
Impact
3.6
Vector string
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

Threat Intelligence

EPSS Exploit Probability
5.3% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-476 NULL Pointer Dereference Memory Safety

Affected Products 3

VendorProductVersionRange
linuxlinux_kernel*≥5.15.75  –  <5.15.78
linuxlinux_kernel*≥5.19.17  –  <6.0
linuxlinux_kernel*≥6.0.3  –  <6.0.8

References 3

  • git.kernel.org https://git.kernel.org/stable/c/49ca992f6e50d0f46ec9608f44e011cf3121f389
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/7433632c9ff68a991bd0bc38cabf354e9d2de410
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/b5074df412bf3df9d6ce096b6fa03eb1082d05c9
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/49ca992f6e50d0f46ec9608f44e011cf3121f389
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/7433632c9ff68a991bd0bc38cabf354e9d2de410
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/b5074df412bf3df9d6ce096b6fa03eb1082d05c9
    Patch