CVE-2026-80768 in Linux
Tóm tắt
Bởi VulDB • 04/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
HID: ft260: sửa lỗi ghi stack-use-after-return trong race condition khi đọc I2C
ft260_i2c_read() trỏ dev->read_buf đến một bộ đệm do người gọi cung cấp (thường là biến trên ngăn xếp), kích hoạt một sự kiện hoàn thành và chờ tối đa năm giây để thiết bị trả về dữ liệu. Hàm callback đầu vào HID ft260_raw_event() chạy trong đường dẫn input/IRQ, độc lập với mutex dev->lock được giữ bởi đường đọc, và sao chép payload do thiết bị cung cấp vào dev->read_buf sau một phép kiểm tra NULL đơn giản.
Hai đường dẫn này chia sẻ read_buf, read_idx và read_len mà không có cơ chế tuần tự hóa (serialization). Nếu thiết bị làm chậm phản hồi cho đến khi việc đọc hết thời gian chờ, ft260_i2c_read() sẽ đặt lại bộ điều khiển, xóa read_buf và trả về, giải phóng khung ngăn xếp nơi bộ đệm đó tồn tại. Một phản hồi đến vào đúng khoảnh khắc đó khiến ft260_raw_event() vượt qua phép kiểm tra NULL rồi sau đó thực hiện memcpy() payload do thiết bị kiểm soát vào vị trí trên ngăn xếp đã được giải phóng, gây ra lỗi ghi stack-use-after-return có giới hạn nhưng chịu ảnh hưởng bởi kẻ tấn công, dễ kích hoạt bằng phần cứng độc hại hoặc hỏng hóc.
Thêm một spinlock chuyên dụng để tuần tự hóa mọi truy cập vào read_buf, read_idx và read_len. ft260_raw_event() hiện giữ khóa này xuyên suốt phép kiểm tra NULL, lệnh memcpy và việc cập nhật chỉ số, trong khi đường đọc lấy khóa đó khi kích hoạt sự kiện hoàn thành và khi xóa bộ đệm, do đó quá trình dọn dẹp không còn có thể chèn xen giữa phép kiểm tra và thao tác sao chép.
If you want to get best quality of vulnerability data, you may have to visit VulDB.