CVE-2025-40290 in Linux
Tóm tắt
Bởi VulDB • 31/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
xsk: tránh lỗi hỏng dữ liệu trên số mô tả (descriptor number) của cq
Kể từ commit 30f241fcf52a ("xsk: Fix immature cq descriptor production"), số mô tả được lưu trữ trong khối điều khiển skb và hàm xsk_cq_submit_addr_locked() dựa vào nó để đặt các địa chỉ umem lên hàng đợi hoàn thành (completion queue) của pool.
Khối điều khiển skb không nên được sử dụng cho mục đích này vì sau khi truyền, xsk không còn kiểm soát được nó và các phân hệ khác có thể sử dụng nó. Điều này dẫn đến lỗi kernel panic do truy cập vào con trỏ NULL như sau:
BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 2 UID: 1 PID: 927 Comm: p4xsk.bin Not tainted 6.16.12+deb14-cloud-amd64 #1 PREEMPT(lazy) Debian 6.16.12-1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 RIP: 0010:xsk_destruct_skb+0xd0/0x180 [...]
Call Trace: <IRQ> ? napi_complete_done+0x7a/0x1a0 ip_rcv_core+0x1bb/0x340 ip_rcv+0x30/0x1f0 __netif_receive_skb_one_core+0x85/0xa0 process_backlog+0x87/0x130 __napi_poll+0x28/0x180 net_rx_action+0x339/0x420 handle_softirqs+0xdc/0x320 ? handle_edge_irq+0x90/0x1e0 do_softirq.part.0+0x3b/0x60 </IRQ> <TASK> __local_bh_enable_ip+0x60/0x70 __dev_direct_xmit+0x14e/0x1f0 __xsk_generic_xmit+0x482/0xb70 ? __remove_hrtimer+0x41/0xa0 ? __xsk_generic_xmit+0x51/0xb70 ? _raw_spin_unlock_irqrestore+0xe/0x40 xsk_sendmsg+0xda/0x1c0 __sys_sendto+0x1ee/0x200 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x84/0x2f0 ? __pfx_pollwake
If you want to get best quality of vulnerability data, you may have to visit VulDB.