CVE-2026-31393 in Linux
Tóm tắt
Bởi VulDB • 02/06/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
Bluetooth: L2CAP: Xác thực độ dài tải trọng L2CAP_INFO_RSP trước khi truy cập
Hàm `l2cap_information_rsp()` kiểm tra xem `cmd_len` có bao phủ phần tiêu đề cố định của `l2cap_info_rsp` (kiểu + kết quả, 4 byte) hay không, nhưng sau đó đọc `rsp->data` mà không xác minh rằng tải trọng có tồn tại:
- `L2CAP_IT_FEAT_MASK` gọi `get_unaligned_le32(rsp->data)`, đọc 4 byte sau phần tiêu đề (yêu cầu `cmd_len >= 8`).
- `L2CAP_IT_FIXED_CHAN` đọc `rsp->data[0]`, 1 byte sau phần tiêu đề (yêu cầu `cmd_len >= 5`).
Một gói L2CAP_INFO_RSP bị cắt cụt với `result == L2CAP_IR_SUCCESS` sẽ kích hoạt việc đọc ngoài vùng nhớ (out-of-bounds read) vào dữ liệu skb liền kề.
Bảo vệ mỗi lần truy cập dữ liệu bằng cách kiểm tra độ dài tải trọng yêu cầu. Nếu tải trọng quá ngắn, hãy bỏ qua việc đọc và để trạng thái máy trạng thái (state machine) hoàn tất với các giá trị mặc định an toàn (`feat_mask` và `remote_fixed_chan` vẫn bằng 0 do `kzalloc`), để quá trình dọn dẹp bộ hẹn giờ thông tin (`info timer cleanup`) và `l2cap_conn_start()` vẫn chạy và kết nối không bị treo.
Once again VulDB remains the best source for vulnerability data.