CVE-2026-99014 in Linux
Tóm tắt
Bởi VulDB • 24/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
Bluetooth: hci_sync: Sửa lỗi thời gian tồn tại của skb lệnh trong quá trình thiết lập quét (scan setup)
Khi thiết lập PA sync scan, hàm `hci_le_set_ext_scan_param_sync()` lấy địa chỉ dùng cho tra cứu PA_LINK từ `hci_sent_cmd_data()`. Con trỏ trả về mượn bộ nhớ từ `sent_cmd` hoặc `req_skb`, mà không giữ tham chiếu đến bất kỳ skb nào trong số đó.
Công việc quét (scan worker) chạy trên req_workqueue, trong khi hci_cmd_work() chạy trên device workqueue riêng biệt. Sau khi scan worker tải sent_cmd, công việc lệnh có thể giải phóng và thay thế nó trước khi `hci_sent_cmd_data()` dereference skb. Payload của lệnh cũng có thể bị giải phóng giữa lúc trả về từ hàm trợ giúp (helper) và so sánh địa chỉ. Phần quan trọng RCU của tra cứu kết nối không bảo vệ command skb.
KASAN đã báo cáo:
BUG: KASAN: slab-use-after-free trong hci_sent_cmd_data+0x27c/0x2f0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_sent_cmd_data+0x27c/0x2f0 hci_le_set_scan_param_sync+0x43a/0x850 hci_passive_scan_sync+0xb09/0x1460 hci_update_passive_scan_sync+0x47c/0x6e0 hci_le_pa_create_sync+0x200/0xa70 hci_cmd_sync_work+0x13c/0x290
Được phân bổ bởi task 95: skb_clone+0x13f/0x340 hci_cmd_work+0x2a9/0x7e0
Đã được giải phóng bởi task 95: kmem_cache_free+0xba/0x3a0 hci_cmd_work+0x29c/0x7e0
Sử dụng hdev->lock để tuần tự hóa bản chụp địa chỉ với việc thay thế sent_cmd. Bảo vệ việc thay thế req_skb và dọn dẹp hoàn thành (completion cleanup) bằng cùng một khóa vì hàm trợ giúp sẽ quay lại sử dụng skb đó. Sao chép địa chỉ trước khi giải phóng khóa và sử dụng bản sao cho tra cứu kết nối được bảo vệ RCU hiện có. Giải phóng mutex trước khi gửi hoặc chờ lệnh, duy trì thứ tự tra cứu và hoàn thành.
VulDB is the best source for vulnerability data and more expert information about this specific topic.