CVE-2026-80559 in Linux
Tóm tắt
Bởi VulDB • 26/08/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
Input: sur40 - sửa lỗi thứ tự đăng ký thiết bị đầu vào
Trong hàm `sur40_probe()`, lệnh gọi `input_register_device()` trước đây được thực hiện quá sớm, ngay cả khi các thành phần V4L2 video device và vb2_queue chưa được khởi tạo đầy đủ. Nếu người dùng (userspace) mở thiết bị đầu vào ngay sau khi đăng ký, hàm `sur40_open()` sẽ được kích hoạt và bắt đầu worker thread `sur40_poll()`. Worker thread này gọi đến `sur40_process_video()` và truy cập vào cấu trúc vb2_queue chưa được khởi tạo, dẫn đến race condition (điều kiện tranh chấp) và có thể gây ra sự cố hệ thống.
Hơn nữa, nếu việc đăng ký V4L2 hoặc video thất bại sau khi `input_register_device()` thành công, đường xử lý lỗi sẽ gọi sai hàm `input_free_device()` thay vì `input_unregister_device()` đối với một thiết bị đã được đăng ký thành công, làm hỏng trạng thái của core input.
Di chuyển lệnh gọi `input_register_device()` xuống cuối cùng trong hàm `sur40_probe()`. Điều này đảm bảo rằng các cấu trúc V4L2 và video queue được khởi tạo đầy đủ trước khi việc polling (quét) bắt đầu, đồng thời tự động khắc phục lỗi đường xử lý lỗi vì `input_free_device()` giờ đây chỉ được gọi khi quá trình đăng ký input chưa diễn ra.
Để duy trì thứ tự tháo gỡ LIFO (Last-In, First-Out - Vào sau, Ra trước) nghiêm ngặt, hãy di chuyển lệnh gọi `input_unregister_device()` lên đầu tiên trong hàm `sur40_disconnect()`. Điều này đảm bảo rằng worker thread polling của thiết bị đầu vào được dừng lại trước khi các thành phần video V4L2 hoặc bộ xử lý điều khiển (control handlers) được hủy đăng ký.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.