CVE-2026-98063
Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix NULL-ptr-deref in btf_var_show() btf_var_show() calls btf_type_id_resolve() unconditionally, which dereferences btf->resolved_ids. That is NULL for a base BTF - e.g. the vmlinux BTF that bpf_snprintf_btf() renders against - since base BTF is not resolved during parsing. btf_modifier_show() guards this with 'if (btf->resolved_ids)', but btf_var_show() does not. A BPF program that passes the type_id of a BTF_KIND_VAR from the vmlinux BTF to bpf_snprintf_btf() thus NULL-derefs: KASAN: probably user-memory-access in range [0x46638-0x4663f] RIP: 0010:btf_var_show (kernel/bpf/btf.c:2929) Call Trace: <TASK> btf_type_show (kernel/bpf/btf.c:8259) btf_type_snprintf_show (kernel/bpf/btf.c:8329) 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:84) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) </TASK> Resolve the var's type directly with btf_type_skip_modifiers() when resolved_ids is NULL, mirroring btf_modifier_show().
How to fix
- Linux Linux5756450c9a702da0efb4a993d0a6766b965736f3, e83fcbe3b5d4a1ffb0569bb7c280358065c6017a, e0d6a06171633d3ee3f7a39b57e5c845fb2b79f2, aec0a9c1579eb9edf534960be592d09481bd7ac3, e472ae0d97865e2021ee668a13eab64013aebf23, ca086264e98108b44fdf53971033811a48defe2b, ea383b3ea56979ce54c8aa88e6ec67164986c401, 5403a383f52fc0905703b488f7c3db4b2447dc58 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < 5756450c9a702da0efb4a993d0a6766b965736f3, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < e83fcbe3b5d4a1ffb0569bb7c280358065c6017a, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < e0d6a06171633d3ee3f7a39b57e5c845fb2b79f2, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < aec0a9c1579eb9edf534960be592d09481bd7ac3, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < e472ae0d97865e2021ee668a13eab64013aebf23, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < ca086264e98108b44fdf53971033811a48defe2b, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < ea383b3ea56979ce54c8aa88e6ec67164986c401, c4d0bfb45068d853a478b9067a95969b1886a30f ≤ v < 5403a383f52fc0905703b488f7c3db4b2447dc58, 5.10 | 5756450c9a702da0efb4a993d0a6766b965736f3, e83fcbe3b5d4a1ffb0569bb7c280358065c6017a, e0d6a06171633d3ee3f7a39b57e5c845fb2b79f2, aec0a9c1579eb9edf534960be592d09481bd7ac3, e472ae0d97865e2021ee668a13eab64013aebf23, ca086264e98108b44fdf53971033811a48defe2b, ea383b3ea56979ce54c8aa88e6ec67164986c401, 5403a383f52fc0905703b488f7c3db4b2447dc58 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.