CVE-2022-49889 ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters()

Medium 5.5 Published Updated

A NULL pointer dereference in the Linux kernel tracing subsystem can cause a system crash when waking waiters on unallocated CPU buffers.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2022-49889?

CVE-2022-49889 is a medium-severity vulnerability in Linux kernel, published on 1 May 2025. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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

Weakness: CWE-476

Which versions are affected by CVE-2022-49889?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2022-49889?

Apply the vendor's patch.

Is CVE-2022-49889 being exploited?

There is no known exploitation of CVE-2022-49889 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2022-49889, GHSA-w9wh-q8v9-3rwf, UBUNTU-CVE-2022-49889.

Is CVE-2022-49889 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free