All vulnerabilities
CVE-2026-98064

Linux: bpf: Fix NULL-ptr-deref when showing a void BTF type

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 6% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in62b00074b58ccf43f61f70f2cfcac80937b530c6Also 86d86f9fcf62dd3654090fbf3cf7ae5f42aa0706, 717abdfd1d559d01fdd102023f0a990fb0437240 and 3 moreCVE List
Published25 Sep 2026Updated 19 Oct 2026CVE List

What fixes it

  • 62b00074b58ccf43f61f70f2cfcac80937b530c6LinuxCVE List
  • 86d86f9fcf62dd3654090fbf3cf7ae5f42aa0706LinuxCVE List
  • 717abdfd1d559d01fdd102023f0a990fb0437240LinuxCVE List
  • 98f1cb95221332139acf514350ae2cae3b8656c5LinuxCVE List
  • 5324f4e75ff6e9c2ca2e267c5f34f0937f9d0ac9LinuxCVE List
  • 4ea508b9ebd78bce7f212166d2e2cba66b875f08LinuxCVE 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:

bpf: Fix NULL-ptr-deref when showing a void BTF type

btf_modifier_show() resolves the modifier and then calls btf_type_ops(t)->show() unconditionally. For the void type (type_id 0, BTF_KIND_UNKN) kind_ops[] has no entry, so ->show is NULL.

A "const void" (a modifier resolving to void) cannot be a map key or value - map_check_btf() rejects it because void has no size - so the map dump path does not reach it. But bpf_snprintf_btf() takes a type_id straight from the BPF program, and passing such a "const void" from the vmlinux BTF NULL-derefs:

KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] RIP: 0010:btf_modifier_show (kernel/bpf/btf.c:2914) Call Trace: <TASK> btf_type_show (kernel/bpf/btf.c:8251) btf_type_snprintf_show (kernel/bpf/btf.c:8321) bpf_snprintf_btf (kernel/trace/bpf_trace.c:1047) bpf_prog_test_run_raw_tp (net/bpf/test_run.c:829) __sys_bpf (kernel/bpf/syscall.c:4804) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) </TASK>

Fall back to btf_df_show() when the resolved type has no show op; it emits the "<unsupported kind:N>" placeholder already used for kinds like FWD and FUNC. bpf_snprintf_btf() then returns the length as usual.

Text from CVE List

Affected versions 18

  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before cf528f2d7a0a54f2a3c6d439cfa3c8d7dfe90d8dCVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before adb15557a641cb8a31f83e5f62bd12042b138c7bCVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 62b00074b58ccf43f61f70f2cfcac80937b530c6CVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 86d86f9fcf62dd3654090fbf3cf7ae5f42aa0706CVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 717abdfd1d559d01fdd102023f0a990fb0437240CVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 98f1cb95221332139acf514350ae2cae3b8656c5CVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 5324f4e75ff6e9c2ca2e267c5f34f0937f9d0ac9CVE List
  • Linuxaffected: c4d0bfb45068d853a478b9067a95969b1886a30f before 4ea508b9ebd78bce7f212166d2e2cba66b875f08CVE List
  • Linuxaffected: 5.10CVE List
  • Linuxunaffected: all versions before 5.10CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8