{"id":29218,"date":"2026-09-25T20:32:10","date_gmt":"2026-09-25T12:32:10","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98063"},"modified":"2026-09-25T20:32:10","modified_gmt":"2026-09-25T12:32:10","slug":"cve-2026-98063","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98063","title":{"rendered":"CVE-2026-98063 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix NULL-ptr-der"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix NULL-ptr-deref in btf_var_show()<\/p>\n<p>btf_var_show() calls btf_type_id_resolve() unconditionally, which<br \/>\ndereferences btf-&gt;resolved_ids. That is NULL for a base BTF &#8211; e.g. the<br \/>\nvmlinux BTF that bpf_snprintf_btf() renders against &#8211; since base BTF is<br \/>\nnot resolved during parsing. btf_modifier_show() guards this with<br \/>\n&#8216;if (btf-&gt;resolved_ids)&#8217;, but btf_var_show() does not.<\/p>\n<p>A BPF program that passes the type_id of a BTF_KIND_VAR from the vmlinux<br \/>\nBTF to bpf_snprintf_btf() thus NULL-derefs:<\/p>\n<p>KASAN: probably user-memory-access in range [0x46638-0x4663f]<br \/>\nRIP: 0010:btf_var_show (kernel\/bpf\/btf.c:2929)<br \/>\nCall Trace:<\/p>\n<p> btf_type_show (kernel\/bpf\/btf.c:8259)<br \/>\n btf_type_snprintf_show (kernel\/bpf\/btf.c:8329)<br \/>\n bpf_snprintf_btf (kernel\/trace\/bpf_trace.c:1047)<br \/>\n bpf_prog_test_run_raw_tp (net\/bpf\/test_run.c:829)<br \/>\n __sys_bpf (kernel\/bpf\/syscall.c:4804)<br \/>\n do_syscall_64 (arch\/x86\/entry\/syscall_64.c:84)<br \/>\n entry_SYSCALL_64_after_hwframe (arch\/x86\/entry\/entry_64.S:121)<\/p>\n<p>Resolve the var&#8217;s type directly with btf_type_skip_modifiers() when<br \/>\nresolved_ids is NULL, mirroring btf_modifier_show().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix NULL-ptr-deref in btf_var_show()<\/p>\n<p>btf_var_show() calls btf_type_id_resolve() unconditionally, which<br \/>\ndereferences btf-&gt;reso<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29218","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}