CVE-2026-64568 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:
wifi: mac80211: sửa lỗi double free (xóa hai lần) trên unsol_bcast_probe_resp khi gặp lỗi phân bổ bộ nhớ
Hàm `ieee80211_set_unsol_bcast_probe_resp()` gọi `kfree_rcu()` lên đối tượng cũ trước khi tiến hành phân bổ bản thay thế. Nếu lệnh `kzalloc()` sau đó thất bại, nó sẽ trả về `-ENOMEM` trong khi con trỏ `link->u.ap.unsol_bcast_probe_resp` vẫn đang trỏ đến đối tượng đã được đưa vào hàng đợi để giải phóng. Một lần cập nhật hoặc quá trình tháo dỡ (teardown) AP sau đó sẽ đưa lại cùng một cấu trúc `rcu_head` đó vào hàng đợi; thao tác free thứ hai bị KASAN bắt gặp khi xử lý rcu sheaf trong softirq:
BUG: KASAN: double-free in rcu_free_sheaf (mm/slub.c:5850) Free of addr ffff88800d06f300 by task exploit/145 ... __rcu_free_sheaf_prepare (mm/slub.c:2634 mm/slub.c:2940) rcu_free_sheaf (mm/slub.c:5850) rcu_core (kernel/rcu/tree.c:2617 kernel/rcu/tree.c:2869) handle_softirqs (kernel/softirq.c:622) Địa chỉ lỗi thuộc về cache kmalloc-128 có kích thước 128
Chỉ đưa đối tượng cũ vào hàng đợi để thực hiện `kfree_rcu()` sau khi đối tượng mới đã được công bố, phù hợp với cách triển khai trong `ieee80211_set_probe_resp()` và `ieee80211_set_s1g_short_beacon()`.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.