---
id: CVE-2026-98856
title: 'kprobes: Skip disarmed probes when checking optkprobe overlap'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  kprobes: Skip disarmed probes when checking optkprobe overlap

  On x86, an optkprobe at A replaces five bytes with a jump. If a disabled
  probe B is at A+2, get_optimized…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 <
    985a568171e7bdba6dcde3420d0e5bb515813457
  - >-
    Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 <
    6745fa65f4115045431c0c15610e876855a04625
  - >-
    Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 <
    526fac219e8b7d3369b43026bd0a1df51b811cd4
  - >-
    Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 <
    7a39c732a22ec4a369af9e19fbe3d666ec83eec4
  - Linux 2.6.34
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:51:12.359Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98856'
references:
  - url: 'https://git.kernel.org/stable/c/985a568171e7bdba6dcde3420d0e5bb515813457'
  - url: 'https://git.kernel.org/stable/c/6745fa65f4115045431c0c15610e876855a04625'
  - url: 'https://git.kernel.org/stable/c/526fac219e8b7d3369b43026bd0a1df51b811cd4'
  - url: 'https://git.kernel.org/stable/c/7a39c732a22ec4a369af9e19fbe3d666ec83eec4'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.462Z'
---

## Overview

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

kprobes: Skip disarmed probes when checking optkprobe overlap

On x86, an optkprobe at A replaces five bytes with a jump. If a disabled
probe B is at A+2, get_optimized_kprobe() stops at B when arming a new
probe C at A+4. It leaves A optimized:

              A    A+1  A+2  A+3  A+4
  A's jump  | e9 | d0 | d1 | d2 | d3 |
  after C   | e9 | d0 | d1 | d2 | cc |

The INT3 for C overwrites the last byte of A's jump displacement, so
execution can jump to the wrong address. B can have prepared optinsns
while disarmed, but has no jump to unoptimize.

Continue past disarmed and unprepared probes to find the active optimized
probe before arming a probe in its jump.

## Affected

- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 985a568171e7bdba6dcde3420d0e5bb515813457`
- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 6745fa65f4115045431c0c15610e876855a04625`
- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 526fac219e8b7d3369b43026bd0a1df51b811cd4`
- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 7a39c732a22ec4a369af9e19fbe3d666ec83eec4`
- `Linux 2.6.34`

## Remediation

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