{"id":"CVE-2026-98856","title":"kprobes: Skip disarmed probes when checking optkprobe overlap","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nkprobes: Skip disarmed probes when checking optkprobe overlap\n\nOn x86, an optkprobe at A replaces five bytes with a jump. If a disabled\nprobe 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","slug":"CVE-2026-98856","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nkprobes: Skip disarmed probes when checking optkprobe overlap\n\nOn x86, an optkprobe at A replaces five bytes with a jump. If a disabled\nprobe B is at A+2, get_optimized_kprobe() stops at B when arming a new\nprobe C at A+4. It leaves A optimized:\n\n              A    A+1  A+2  A+3  A+4\n  A's jump  | e9 | d0 | d1 | d2 | d3 |\n  after C   | e9 | d0 | d1 | d2 | cc |\n\nThe INT3 for C overwrites the last byte of A's jump displacement, so\nexecution can jump to the wrong address. B can have prepared optinsns\nwhile disarmed, but has no jump to unoptimize.\n\nContinue past disarmed and unprepared probes to find the active optimized\nprobe before arming a probe in its jump.\n\n## Affected\n\n- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 985a568171e7bdba6dcde3420d0e5bb515813457`\n- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 6745fa65f4115045431c0c15610e876855a04625`\n- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 526fac219e8b7d3369b43026bd0a1df51b811cd4`\n- `Linux >= afd66255b9a48f5851326ddae50e2203fbf71dc9 < 7a39c732a22ec4a369af9e19fbe3d666ec83eec4`\n- `Linux 2.6.34`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}