CVE-2025-21852 in LinuxИнформация

Сводка

по VulDB • 04.06.2026

В ядре Linux устранена следующая уязвимость:

net: Добавить rx_skb в kfree_skb для raw_tp_null_args[].

Янь Чжай (Yan Zhai) сообщил, что программа BPF может вызвать null-ptr-deref [0] в trace_kfree_skb, если программа не проверяет, является ли rx_sk равным NULL.

Коммит c53795d48ee8 ("net: add rx_sk to trace_kfree_skb") добавил rx_sk в trace_kfree_skb, но rx_sk является опциональным и может быть NULL.

Давайте добавим kfree_skb в raw_tp_null_args[], чтобы позволить верификатору BPF проверить такую программу и предотвратить проблему.

Теперь мы не можем загрузить такую программу:

libbpf: prog 'drop': -- BEGIN PROG LOAD LOG -- 0: R1=ctx() R10=fp0 ; int BPF_PROG(drop, struct sk_buff *skb, void *location, @ kfree_skb_sk_null.bpf.c:21 0: (79) r3 = *(u64 *)(r1 +24) func 'kfree_skb' arg3 has btf_id 5253 type STRUCT 'sock' 1: R1=ctx() R3_w=trusted_ptr_or_null_sock(id=1) ; bpf_printk("sk: %d, %d\n", sk, sk->__sk_common.skc_family); @ kfree_skb_sk_null.bpf.c:24 1: (69) r4 = *(u16 *)(r3 +16) R3 invalid mem access 'trusted_ptr_or_null_' processed 2 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0 -- END PROG LOAD LOG --

Обратите внимание, что это исправление требует коммита 838a10bd2ebf ("bpf: Augment raw_tp arguments with PTR_MAYBE_NULL").

[0]:
BUG: kernel NULL pointer dereference, address: 0000000000000010 PF: supervisor read access in kernel mode PF: error_code(0x0000) - not-present page PGD 0 P4D 0 PREEMPT SMP RIP: 0010:bpf_prog_5e21a6db8fcff1aa_drop+0x10/0x2d Call Trace: ? __die+0x1f/0x60 ? page_fault_oops+0x148/0x420 ? search_bpf_extables+0x5b/0x70 ? fixup_exception+0x27/0x2c0 ? exc_page_fault+0x75/0x170 ? asm_exc_page_fault+0x22/0x30 ? bpf_prog_5e21a6db8fcff1aa_drop+0x10/0x2d bpf_trace_run4+0x68/0xd0 ? unix_stream_connect+0x1f4/0x6f0 sk_skb_reason_drop+0x90/0x120 unix_stream_connect+0x1f4/0x6f0 __sys_connect+0x7f/0xb0 __x64_sys_connect+0x14/0x20 do_syscall_64+0x47/0xc30 entry_SYSCALL_64_after_hwframe+0x4b/0x53

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

29.12.2024

Раскрытие

12.03.2025

Модерация

принято

Вход

VDB-299533

EPSS

0.00216

KEV

Нет

Деятельности

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!