{"id":29220,"date":"2026-09-25T20:32:10","date_gmt":"2026-09-25T12:32:10","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98065"},"modified":"2026-09-25T20:32:10","modified_gmt":"2026-09-25T12:32:10","slug":"cve-2026-98065","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98065","title":{"rendered":"CVE-2026-98065 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reject key-less"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Reject key-less BTF for hash maps<\/p>\n<p>map_check_btf() allows a key-less BTF (btf_key_type_id == 0) only for<br \/>\nmaps that have a -&gt;map_check_btf callback, and leaves the actual<br \/>\ndecision to that callback. Hash maps used to have no -&gt;map_check_btf,<br \/>\nso a key-less BTF was rejected outright.<\/p>\n<p>That changed when htab and rhtab gained a -&gt;map_check_btf to register a<br \/>\ndtor &#8211; htab in commit 1df97a7453ee (&#8220;bpf: Register dtor for freeing<br \/>\nspecial fields&#8221;) and rhtab in commit 6905f8601298 (&#8220;bpf: Allow special<br \/>\nfields in resizable hashtab&#8221;). Neither looks at the key, so a key-less<br \/>\nhash map now passes map_check_btf() and gets created. Reading it back<br \/>\nthrough bpffs feeds the key type_id 0 into btf_type_seq_show();<br \/>\nbtf_type_by_id() returns the void type, kind_ops[BTF_KIND_UNKN] is NULL,<br \/>\nand btf_type_show() dereferences it:<\/p>\n<p>RIP: 0010:btf_type_show+0x223\/0x2e0 kernel\/bpf\/btf.c:8232<br \/>\nRSP: 0018:ffffc9000399f868 EFLAGS: 00010206<br \/>\nRAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000<br \/>\nRDX: 0000000000000005 RSI: 0000000000000000 RDI: 0000000000000028<br \/>\nRBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000<br \/>\nR10: ffffc9000399f970 R11: 0000000000000001 R12: ffffffff9b96b140<br \/>\nR13: ffffc9000399f8e0 R14: ffff88803d393c00 R15: 0000000000000003<br \/>\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br \/>\nCR2: 0000200000000000 CR3: 000000003d213000 CR4: 0000000000352ef0<br \/>\nDR0: 0000000039ae8f55 DR1: 0000000000000000 DR2: 0000000000000000<br \/>\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400<br \/>\nCall Trace:<\/p>\n<p> btf_type_seq_show_flags+0xca\/0x120 kernel\/bpf\/btf.c:8250<br \/>\n htab_map_seq_show_elem+0x12e\/0x350 kernel\/bpf\/hashtab.c:1669<br \/>\n map_seq_show+0x13d\/0x1e0 kernel\/bpf\/inode.c:293<br \/>\n traverse.part.0.constprop.0+0x107\/0x650 fs\/seq_file.c:112<br \/>\n traverse fs\/seq_file.c:99 [inline]<br \/>\n seq_read_iter+0x93f\/0x1270 fs\/seq_file.c:196<br \/>\n seq_read+0x344\/0x4d0 fs\/seq_file.c:163<br \/>\n vfs_read+0x1e4\/0xb40 fs\/read_write.c:572<br \/>\n ksys_pread64 fs\/read_write.c:764 [inline]<br \/>\n __do_sys_pread64 fs\/read_write.c:772 [inline]<br \/>\n __se_sys_pread64 fs\/read_write.c:769 [inline]<br \/>\n __x64_sys_pread64+0x1eb\/0x250 fs\/read_write.c:769<br \/>\n do_syscall_x64 arch\/x86\/entry\/syscall_64.c:61 [inline]<br \/>\n do_syscall_64+0x123\/0x790 arch\/x86\/entry\/syscall_64.c:84<br \/>\n entry_SYSCALL_64_after_hwframe+0x77\/0x7f<\/p>\n<p>Reject a key-less BTF in htab_map_check_btf() and rhtab_map_check_btf(),<br \/>\nrestoring the previous behavior.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Reject key-less BTF for hash maps<\/p>\n<p>map_check_btf() allows a key-less BTF (btf_key_type_id == 0) only for<br \/>\nmaps that have a -&gt;ma<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29220","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29220","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=29220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}