CVEvulnerability
CVE-2026-98856
- Status
- Received
- Published
- 2026-10-18
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
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.
References
- https://git.kernel.org/stable/c/3f968dcdf018861129f97910fa7bd680d939a9b0 git.kernel.org
- https://git.kernel.org/stable/c/526fac219e8b7d3369b43026bd0a1df51b811cd4 git.kernel.org
- https://git.kernel.org/stable/c/6745fa65f4115045431c0c15610e876855a04625 git.kernel.org
- https://git.kernel.org/stable/c/7a39c732a22ec4a369af9e19fbe3d666ec83eec4 git.kernel.org
- https://git.kernel.org/stable/c/985a568171e7bdba6dcde3420d0e5bb515813457 git.kernel.org