---
id: CVE-2026-89988
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  kprobes: Protect kprobe_blacklist with RCU

  __within_kprobe_blacklist() traverses kprobe_blacklist without holding
  kprobe_mutex
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  kprobes: Protect kprobe_blacklist with RCU

  __within_kprobe_blacklist() traverses kprobe_blacklist without holding
  kprobe_mutex. When a module is unloaded, kprobe_remov…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    8f406205003f741225f620f0e357ca0de71d45e3
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    630ed8734a02b992e8a97538179c2ece42c5210f
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    518d9b5568bb06f86e4434f7a30faa9612ea91ad
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    5da247e4d1e8661d4d6f997101d59967e8994e32
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    6e62cf983a2bd547e6bbd3f935539233e5f97f8f
  - >-
    Linux >= 376e242429bf8539ef39a080ac113c8799840b13 <
    0c4256196b3a105307e2235fbfd85e768bbcdd0f
  - Linux 3.16
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:22.680'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89988'
references:
  - url: 'https://git.kernel.org/stable/c/0c4256196b3a105307e2235fbfd85e768bbcdd0f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/518d9b5568bb06f86e4434f7a30faa9612ea91ad'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5da247e4d1e8661d4d6f997101d59967e8994e32'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/630ed8734a02b992e8a97538179c2ece42c5210f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6e62cf983a2bd547e6bbd3f935539233e5f97f8f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8f406205003f741225f620f0e357ca0de71d45e3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.951Z'
epss: 0.00176
epssPercentile: 0.06273
---

## Overview

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

kprobes: Protect kprobe_blacklist with RCU

__within_kprobe_blacklist() traverses kprobe_blacklist without holding
kprobe_mutex. When a module is unloaded, kprobe_remove_area_blacklist()
removes blacklist entries and immediately frees them with kfree().
A concurrent call to within_kprobe_blacklist() can therefore dereference
freed memory.

Furthermore, within_kprobe_blacklist() can be called in atomic or
non-preemptible contexts where the sleeping kprobe_mutex cannot be taken.

Protect kprobe_blacklist with RCU. Use guard(rcu)() and
list_for_each_entry_rcu() for traversal, list_add_tail_rcu() for
insertions, list_del_rcu() for deletions, and kfree_rcu() to reclaim
entries safely after a grace period.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
