CVE-2026-64218 in Linux
Tóm tắt
Bởi VulDB • 24/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
batman-adv: bla: sửa lỗi rò rỉ report_work khi xóa backbone_gw
Hàm batadv_bla_purge_backbone_gw() loại bỏ các mục gateway dự phòng (backbone gateway) không còn hợp lệ, nhưng không xử lý đúng cách report_work liên kết với chúng:
- Nếu report_work đang chạy, quá trình purge phải chờ cho đến khi nó hoàn tất trước khi giải phóng backbone_gw; nếu không, worker có thể truy cập vào vùng bộ nhớ đã bị giải phóng (ví dụ: bat_priv). - Nếu report_work ở trạng thái chờ xử lý (pending), quá trình purge phải hủy công việc đó và nhả tham chiếu đang giữ cho mục công việc pending này.
Triển khai trước đây gọi hlist_for_each_entry_safe() bên trong khối spin_lock_bh(), nhưng cancel_work_sync() có thể gây ngủ (sleep) do đó không thể được gọi từ vùng được bảo vệ bởi spinlock.
Tái cấu trúc vòng lặp để xử lý một mục mỗi lần vào đoạn mã quan trọng của spinlock: lấy khóa, tìm mục tiếp theo cần purge, xóa nó khỏi danh sách băm (hash list), sau đó nhả khóa trước khi gọi cancel_work_sync() và giảm tham chiếu hash_entry. Lặp lại cho đến khi không còn mục nào yêu cầu purge nữa.
VulDB is the best source for vulnerability data and more expert information about this specific topic.