Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-21852— net: Add rx_skb of kfree_skb to raw_tp_null_args[].

EPSS 0.01% · P1
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-21852

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: Add rx_skb of kfree_skb to raw_tp_null_args[].
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: Add rx_skb of kfree_skb to raw_tp_null_args[]. Yan Zhai reported a BPF prog could trigger a null-ptr-deref [0] in trace_kfree_skb if the prog does not check if rx_sk is NULL. Commit c53795d48ee8 ("net: add rx_sk to trace_kfree_skb") added rx_sk to trace_kfree_skb, but rx_sk is optional and could be NULL. Let's add kfree_skb to raw_tp_null_args[] to let the BPF verifier validate such a prog and prevent the issue. Now we fail to load such a prog: 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 -- Note this fix requires commit 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: <TASK> ? __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
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未检查rx_sk空值,可能导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux c53795d48ee8f385c6a9e394651e7ee914baaeba ~ f579afacd0a66971fc8481f30d2d377e230a8342 -
LinuxLinux 6.11 -

II. Public POCs for CVE-2025-21852

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21852

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-03-12 · 26 CVEs total

CVE-2025-21855ibmvnic: Don't reference skb after sending to VIOS
CVE-2024-58087ksmbd: fix racy issue from session lookup and expire
CVE-2024-58088bpf: Fix deadlock when freeing cgroup storage
CVE-2024-58089btrfs: fix double accounting race when btrfs_run_delalloc_range() failed
CVE-2025-21844smb: client: Add check for next_buffer in receive_encrypted_standard()
CVE-2025-21845mtd: spi-nor: sst: Fix SST write failure
CVE-2025-21846acct: perform last write from workqueue
CVE-2025-21848nfp: bpf: Add check for nfp_app_ctrl_msg_alloc()
CVE-2025-21847ASoC: SOF: stream-ipc: Check for cstream nullity in sof_ipc_msg_data()
CVE-2025-21849drm/i915/gt: Use spin_lock_irqsave() in interruptible context
CVE-2025-21851bpf: Fix softlockup in arena_map_free on 64k page kernel
CVE-2025-21850nvmet: Fix crash when a namespace is disabled
CVE-2025-21853bpf: avoid holding freeze_mutex during mmap operation
CVE-2025-21866powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC
CVE-2025-21854sockmap, vsock: For connectible sockets allow only connected
CVE-2025-21856s390/ism: add release function for struct device
CVE-2025-21857net/sched: cls_api: fix error handling causing NULL dereference
CVE-2025-21858geneve: Fix use-after-free in geneve_find_dev().
CVE-2025-21859USB: gadget: f_midi: f_midi_complete to call queue_work
CVE-2025-21861mm/migrate_device: don't add folio to be freed to LRU in migrate_device_finalize()

Showing top 20 of 26 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21852

No comments yet


Leave a comment