CVE-2026-43416
Received Received - Intake
Kernel NULL Pointer Dereference in Linux Kernel perf Subsystem

Publication date: 2026-05-08

Last updated on: 2026-05-08

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: powerpc, perf: Check that current->mm is alive before getting user callchain It may happen that mm is already released, which leads to kernel panic. This adds the NULL check for current->mm, similarly to commit 20afc60f892d ("x86, perf: Check that current->mm is alive before getting user callchain"). I was getting this panic when running a profiling BPF program (profile.py from bcc-tools): [26215.051935] Kernel attempted to read user page (588) - exploit attempt? (uid: 0) [26215.051950] BUG: Kernel NULL pointer dereference on read at 0x00000588 [26215.051952] Faulting instruction address: 0xc00000000020fac0 [26215.051957] Oops: Kernel access of bad area, sig: 11 [#1] [...] [26215.052049] Call Trace: [26215.052050] [c000000061da6d30] [c00000000020fc10] perf_callchain_user_64+0x2d0/0x490 (unreliable) [26215.052054] [c000000061da6dc0] [c00000000020f92c] perf_callchain_user+0x1c/0x30 [26215.052057] [c000000061da6de0] [c0000000005ab2a0] get_perf_callchain+0x100/0x360 [26215.052063] [c000000061da6e70] [c000000000573bc8] bpf_get_stackid+0x88/0xf0 [26215.052067] [c000000061da6ea0] [c008000000042258] bpf_prog_16d4ab9ab662f669_do_perf_event+0xf8/0x274 [...] In addition, move storing the top-level stack entry to generic perf_callchain_user to make sure the top-evel entry is always captured, even if current->mm is NULL. [Maddy: fixed message to avoid checkpatch format style error]
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-08
Last Modified
2026-05-08
Generated
2026-05-09
AI Q&A
2026-05-08
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's powerpc perf subsystem. It occurs because the kernel does not properly check if the current process's memory descriptor (current->mm) is still valid before attempting to access the user callchain for profiling.

If current->mm has already been released (i.e., is NULL), the kernel tries to read from an invalid memory area, causing a kernel panic due to a NULL pointer dereference.

The fix involves adding a NULL check for current->mm before accessing the user callchain, preventing the kernel from crashing in this scenario.


How can this vulnerability impact me? :

This vulnerability can cause the Linux kernel to panic and crash when running profiling tools that use the perf subsystem, such as BPF programs.

A kernel panic leads to system instability and downtime, which can disrupt services and applications running on the affected system.

In environments where uptime and reliability are critical, this vulnerability could result in significant operational impact.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring kernel logs for signs of kernel panic or NULL pointer dereference related to perf callchain user events.

Specifically, look for messages similar to the following in your kernel logs:

  • Kernel attempted to read user page (exploit attempt?)
  • BUG: Kernel NULL pointer dereference on read
  • Oops: Kernel access of bad area, sig: 11

You can use the following commands to check for such messages:

  • dmesg | grep -i 'NULL pointer dereference'
  • journalctl -k | grep -i 'perf_callchain_user'
  • grep -i 'Kernel attempted to read user page' /var/log/kern.log

Additionally, if you are running profiling BPF programs (such as profile.py from bcc-tools), monitor their behavior closely as they may trigger this vulnerability.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to update the Linux kernel to a version that includes the fix for this vulnerability.

The fix involves adding a NULL check for current->mm before accessing the user callchain in the perf subsystem, preventing kernel panic.

Until the kernel is updated, avoid running profiling BPF programs that trigger this vulnerability, such as profile.py from bcc-tools.

Monitoring kernel logs for early signs of the issue can help in taking timely action.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart