All vulnerabilities
CVE-2026-98655

Linux: perf: Require kernel access for text poke events

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.18%Chance of exploitation activity in the next 30 days, higher than 7% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in8c38cb055f6a9651198780e4e4d5283de4039f79Also 8473f44db9f710ea6f8cafb22f2e3ba6cb8ca9a7, 677d0b51ac1a0db55d768c4c6399210b3de0795b and 1 moreCVE List
Published18 Oct 2026Updated 21 Oct 2026CVE List

What fixes it

  • 8c38cb055f6a9651198780e4e4d5283de4039f79LinuxCVE List
  • 8473f44db9f710ea6f8cafb22f2e3ba6cb8ca9a7LinuxCVE List
  • 677d0b51ac1a0db55d768c4c6399210b3de0795bLinuxCVE List
  • 357e8a77a501d96c9517f01f4a211eed5e9c9184LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

perf: Require kernel access for text poke events

Perf events with exclude_kernel=1 can be opened without kernel perf access. However, exclude_kernel does not suppress text-poke sideband records. Every PERF_RECORD_TEXT_POKE is marked PERF_RECORD_MISC_KERNEL and contains a raw kernel instruction address.

An unprivileged task can therefore open and mmap a task-local software event with text_poke=1. Both opening a count-only tracepoint event and configuring UDP GRO for ESP-in-UDP cause updates to inline static calls; the observer receives the relocated addresses of the modified instructions. For a known kernel image, any such address reveals the runtime kernel text base despite KASLR.

Call perf_allow_kernel() whenever attr.text_poke is set, regardless of exclude_kernel. Events that neither monitor kernel execution nor request text-poke records retain their existing permissions.

Text from CVE List

Affected versions 12

  • Linuxaffected: e17d43b93e544f5016c0251d2074c15568d5d963 before 8c38cb055f6a9651198780e4e4d5283de4039f79CVE List
  • Linuxaffected: e17d43b93e544f5016c0251d2074c15568d5d963 before 8473f44db9f710ea6f8cafb22f2e3ba6cb8ca9a7CVE List
  • Linuxaffected: e17d43b93e544f5016c0251d2074c15568d5d963 before e506333d1b9f42f1e402acebf1283af3c44a3809CVE List
  • Linuxaffected: e17d43b93e544f5016c0251d2074c15568d5d963 before 677d0b51ac1a0db55d768c4c6399210b3de0795bCVE List
  • Linuxaffected: e17d43b93e544f5016c0251d2074c15568d5d963 before 357e8a77a501d96c9517f01f4a211eed5e9c9184CVE List
  • Linuxaffected: 5.9CVE List
  • Linuxunaffected: all versions before 5.9CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.113 through 6.12.*CVE List
  • Linuxunaffected: 6.18.56 through 6.18.*CVE List
  • Linuxunaffected: 7.2.10 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5