Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-98064

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

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • c4d0bfb45068d853a478b9067a95969b1886a30f to < cf528f2d7a0a54f2a3c6d439cfa3c8d7dfe90d8daffected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < adb15557a641cb8a31f83e5f62bd12042b138c7baffected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 62b00074b58ccf43f61f70f2cfcac80937b530c6affected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 86d86f9fcf62dd3654090fbf3cf7ae5f42aa0706affected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 717abdfd1d559d01fdd102023f0a990fb0437240affected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 98f1cb95221332139acf514350ae2cae3b8656c5affected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 5324f4e75ff6e9c2ca2e267c5f34f0937f9d0ac9affected
  • c4d0bfb45068d853a478b9067a95969b1886a30f to < 4ea508b9ebd78bce7f212166d2e2cba66b875f08affected

Linux Linux

Default version status: affected

  • 5.10affected
  • 0 to < 5.10unaffected
  • 5.10.271 to ≤ 5.10.*unaffected
  • 5.15.222 to ≤ 5.15.*unaffected
  • 6.1.189 to ≤ 6.1.*unaffected
  • 6.6.158 to ≤ 6.6.*unaffected
  • 6.12.111 to ≤ 6.12.*unaffected
  • 6.18.53 to ≤ 6.18.*unaffected
  • 7.2.7 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References