CVE-2026-64574 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: hủy bỏ các liên kết mới trên đường dẫn lỗi khi cập nhật vif
Khi hàm `ieee80211_vif_update_links()` thêm các liên kết mới, nó sẽ phân bổ một vùng chứa (container) cho mỗi liên kết và gọi `ieee80211_link_init()` (đăng ký các tệp debugfs theo từng liên kết với con trỏ `file->private_data` trỏ vào vùng chứa đó) cùng với hàm `ieee80211_link_setup()`. Nếu lệnh gọi tiếp theo đến `drv_change_vif_links()` thất bại, đường dẫn xử lý lỗi sẽ khôi phục lại các con trỏ cũ và nhảy tới nhãn 'free', giải phóng các vùng chứa mới nhưng không bao giờ xóa các mục debugfs của chúng hoặc dừng các liên kết. Các tệp debugfs vẫn tồn tại với `file->private_data` là con trỏ treo (dangling) trỏ vào vùng nhớ đã được giải phóng, do đó một lệnh gọi mở()+đọc() sau này (ví dụ: link-1/txpower) sẽ truy cập bộ nhớ đã bị giải phóng trong hàm `ieee80211_if_read_link()`, gây ra lỗi use-after-free.
Đường dẫn xóa hiện tại đã tháo dỡ các liên kết đúng cách thông qua hàm `ieee80211_tear_down_links()`, hàm này loại bỏ khóa và mục debugfs của từng liên kết cũng như gọi `ieee80211_link_stop()`; tuy nhiên, đường dẫn thêm trên nhánh lỗi không thực hiện điều tương tự. Commit be1ba9ed221f ("wifi: mac80211: tránh trạng thái kỳ lạ trong đường dẫn lỗi") đã tăng cường bảo mật cho cùng một đường dẫn lỗi này đối với trường hợp xóa liên kết (new_links == 0) nhưng để lại việc tháo dỡ các liên kết vừa được thêm mới mà chưa giải quyết.
Hàm `drv_change_vif_links()` có thể thất bại khi chạy thời gian trên các driver MLO (lỗi phân bổ nội bộ / hàng đợi / lệnh firmware).
Hãy xóa các mục debugfs của các liên kết mới và dừng chúng trước khi giải phóng vùng nhớ.
BUG: KASAN: slab-use-after-free trong ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) Đọc kích thước 8 tại địa chỉ ffff888011290000 bởi tiến trình exploit/145 Dấu vết cuộc gọi (Call Trace): ... ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) short_proxy_read (fs/debugfs/file.c:373) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) ... Oops: lỗi bảo vệ chung, có thể do địa chỉ không hợp lệ (non-canonical address) 0xdffffc000000000a RIP: 0010:ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) Kernel panic - not syncing: Lỗi nghiêm trọng
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.