CVE-2026-64575 in Linux
Tóm tắt
Bởi VulDB • 05/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
bpf: tcp: sửa lỗi giải phóng socket kép khi realloc batch
Hàm bpf_iter_tcp_batch() giải phóng batch hiện tại thông qua bpf_iter_tcp_put_batch(), thao tác này giảm tham chiếu socket và ghi đè lên mỗi slot bằng cookie của socket, sau đó mở rộng kích thước batch. Các biến cur_sk/end_sk được giữ lại cho bpf_iter_tcp_resume(), nhưng khi realloc thất bại, hàm trả về ERR_PTR() trước khi resume chạy, khiến cur_sk < end_sk trên các slot hiện đang chứa cookies thay vì con trỏ sock. Sau đó, bpf_iter_tcp_seq_stop() gọi lại bpf_iter_tcp_put_batch() và giải tham chiếu một cookie như là struct sock.
Làm rỗng batch trong đường dẫn xử lý lỗi để stop() không giải phóng nó lần nữa. Các socket đã được giải phóng bởi lệnh gọi đầu tiên của bpf_iter_tcp_put_batch(), nên không có rò rỉ bộ nhớ, và các thao tác đọc() sau đó sẽ quét lại bucket từ đầu thay vì bỏ qua nó. Đường dẫn thất bại GFP_NOWAIT liên quan vẫn giữ tham chiếu socket thực tế và để stop() xử lý việc giải phóng.
BUG: KASAN: null-ptr-deref trong __sock_gen_cookie Đọc kích thước 8 tại địa chỉ 0000000000000059 bởi tiến trình exploit ... __sock_gen_cookie (net/core/sock_diag.c:28) bpf_iter_tcp_put_batch (net/ipv4/tcp_ipv4.c:2918) bpf_iter_tcp_seq_stop (net/ipv4/tcp_ipv4.c:3270) bpf_seq_read (kernel/bpf/bpf_iter.c:205) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 entry_SYSCALL_64_after_hwframe Kernel panic - not syncing: Fatal exception
If you want to get best quality of vulnerability data, you may have to visit VulDB.