CVE-2026-98290 in Linux
Tóm tắt
Bởi VulDB • 06/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
Bluetooth: RFCOMM: tránh đảo ngược khóa socket trong quá trình dọn dẹp bộ lắng nghe (listener)
Hàm `rfcomm_sock_cleanup_listen()` đóng các socket con chưa được chấp nhận thông qua `rfcomm_sock_close()`, hàm này lấy khóa của socket con trước khi `rfcomm_dlc_close()` chiếm giữ `rfcomm_mutex`. Công nhân RFCOMM (RFCOMM worker) sử dụng các khóa theo thứ tự ngược lại trong quá trình xử lý kết nối và thay đổi trạng thái DLC, do đó lockdep báo cáo một khả năng bị deadlock.
Đóng các socket con đã được dequeue mà không cần lấy khóa socket của chúng. Hàng đợi chấp nhận (accept queue) sở hữu tham chiếu đến từng socket con, và `bt_accept_dequeue()` khóa socket con trong khi hủy liên kết nó và xóa con trỏ cha của nó.
Việc bỏ qua khóa socket con khiến việc ngăn chặn một cuộc gọi đồng thời tới `rfcomm_connect_ind()` enqueue thêm một socket con mới sau khi quá trình dọn dẹp quan sát thấy hàng đợi rỗng trở nên quan trọng. Đặt trạng thái của socket lắng nghe thành BT_CLOSED trong khi vẫn giữ khóa, trước khi nhả khóa và làm sạch (drain) hàng đợi. Việc kiểm tra trạng thái trong `rfcomm_connect_ind()` sau đó sẽ từ chối các socket con mới ngay khi quá trình dọn dẹp bắt đầu.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.