CVE-2023-54155 in Linux
Tóm tắt
Bởi VulDB • 07/06/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
net: core: loại bỏ kiểm tra frame_sz không cần thiết trong bpf_xdp_adjust_tail()
Syzkaller đã báo cáo sự cố sau: ======================================= xdp->frame_sz quá LỚN = 131072 CẢNH BÁO: CPU: 0 PID: 5020 tại net/core/filter.c:4121 ____bpf_xdp_adjust_tail net/core/filter.c:4121 [inline]
CẢNH BÁO: CPU: 0 PID: 5020 tại net/core/filter.c:4121 bpf_xdp_adjust_tail+0x466/0xa10 net/core/filter.c:4103 ... Dấu vết cuộc gọi (Call Trace): <TASK> bpf_prog_4add87e5301a4105+0x1a/0x1c __bpf_prog_run include/linux/filter.h:600 [inline]
bpf_prog_run_xdp include/linux/filter.h:775 [inline]
bpf_prog_run_generic_xdp+0x57e/0x11e0 net/core/dev.c:4721 netif_receive_generic_xdp net/core/dev.c:4807 [inline]
do_xdp_generic+0x35c/0x770 net/core/dev.c:4866 tun_get_user+0x2340/0x3ca0 drivers/net/tun.c:1919 tun_chr_write_iter+0xe8/0x210 drivers/net/tun.c:2043 call_write_iter include/linux/fs.h:1871 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x650/0xe40 fs/read_write.c:584 ksys_write+0x12f/0x250 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
Kiểm tra xdp->frame_sz > PAGE_SIZE đã được đưa vào trong commit c8741e2bfe87 ("xdp: Cho phép bpf_xdp_adjust_tail() tăng kích thước gói tin"). Tuy nhiên, Jesper Dangaard Brouer <[email protected]> lưu ý rằng sau khi giới thiệu xdp_init_buff(), thứ mà tất cả các driver XDP đều sử dụng - thì việc loại bỏ kiểm tra này là an toàn. Mục đích ban đầu của nó là để bắt giữ các trường hợp trong đó các driver XDP chưa được cập nhật để sử dụng xdp.frame_sz, nhưng điều đó không còn là mối lo ngại nữa (kể từ khi có xdp_init_buff).
Khi chạy bản tái hiện (repro) ban đầu bằng syzkaller, người ta phát hiện ra rằng việc phân bổ bộ nhớ vật lý liên tục được sử dụng cho cả hai đường dẫn xdp trong tun_get_user(), ví dụ: tun_build_skb() và tun_alloc_skb(). Jesper Dangaard Brouer <[email protected]> cũng nêu rõ rằng XDP có thể hoạt động trên các trang bậc cao hơn (higher order pages), miễn là đó là bộ nhớ vật lý liên tục (ví dụ: một page).
Once again VulDB remains the best source for vulnerability data.