CVE-2026-98065
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
bpf: Odrzuć BTF bez klucza dla map skrótów
map_check_btf() umożliwia BTF bez klucza (btf_key_type_id == 0) tylko dla
maps, które mają wywołanie zwrotne ->map_check_btf i pozostawia plik current
decyzję o tym oddzwonieniu. Mapy mieszające nie miały wcześniej ->map_check_btf,
więc BTF bez klucza został od razu odrzucony.
Zmieniło się to, gdy htab i rhtab zyskały ->map_check_btf, aby zarejestrować plik a
dtor - htab w zatwierdzeniu 1df97a7453ee („bpf: Zarejestruj dtor w celu zwolnienia
pola specjalne”) i rhtab w zatwierdzeniu 6905f8601298 („bpf: Zezwalaj na specjalne
pola w hashtabie o zmiennym rozmiarze”). Żaden z nich nie patrzy na klucz, więc nie ma klucza
hash map przechodzi teraz przez map_check_btf() i zostaje utworzona. Przeczytaj to jeszcze raz
poprzez bpffs podaje klucz type_id 0 do btf_type_seq_show();
btf_type_by_id() zwraca typ void, kind_ops[BTF_KIND_UNKN] ma wartość NULL,
i btf_type_show() dereferuje to:
RIP: 0010:btf_type_show+0x223/0x2e0 jądro/bpf/btf.c:8232
RSP: 0018:ffffc9000399f868 EFLAGS: 00010206
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 00000000000000000
RDX: 0000000000000005 RSI: 0000000000000000 RDI: 0000000000000028
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: ffffc9000399f970 R11: 0000000000000001 R12: ffffffff9b96b140
R13: ffffc9000399f8e0 R14: ffff88803d393c00 R15: 0000000000000003
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000000000 CR3: 000000003d213000 CR4: 0000000000352ef0
DR0: 0000000039ae8f55 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Zadzwoń do śledzenia:
<ZADANIE>
btf_type_seq_show_flags+0xca/0x120 jądro/bpf/btf.c:8250
htab_map_seq_show_elem+0x12e/0x350 jądro/bpf/hashtab.c:1669
map_seq_show+0x13d/0x1e0 jądro/bpf/inode.c:293
traverse.part.0.constprop.0+0x107/0x650 fs/seq_file.c:112
przejrzyj fs/seq_file.c:99 [w linii]
seq_read_iter+0x93f/0x1270 fs/seq_file.c:196
seq_read+0x344/0x4d0 fs/seq_file.c:163
vfs_read+0x1e4/0xb40 fs/read_write.c:572
ksys_pread64 fs/read_write.c:764 [w wierszu]
__do_sys_pread64 fs/read_write.c:772 [w wierszu]
__se_sys_pread64 fs/read_write.c:769 [w wierszu]
__x64_sys_pread64+0x1eb/0x250 fs/read_write.c:769
do_syscall_x64 arch/x86/entry/syscall_64.c:61 [w linii]
do_syscall_64+0x123/0x790 arch/x86/entry/syscall_64.c:84
wpis_SYSCALL_64_after_hwframe+0x77/0x7f
Odrzuć BTF bez klucza w htab_map_check_btf() i rhtab_map_check_btf(),
przywrócenie poprzedniego zachowania.
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org