CVE-2026-80816 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:
ALSA: FCP: Sử dụng URB riêng cho endpoint thông báo
fcp_init_notify() sử dụng mixer->urb, do snd_usb_mixer_status_create() phân bổ cho endpoint ngắt trạng thái UAC2 tùy chọn và mixer.c hủy bỏ, gửi lại và giải phóng. Trên một thiết bị có endpoint đó, lệnh quay về sớm "đã được thiết lập" của fcp_init_notify() kích hoạt trên URB trạng thái và trả về thành công mà không thực hiện bất kỳ thao tác nào. Không có URB thông báo FCP nào được gửi đi, và cmd_done vẫn ở giá trị 0 vì nó được khởi tạo sau lệnh quay về sớm đó và không ở đâu khác. Sau đó, fcp_init() phát ra init1_opcode và wait_for_completion_timeout() sẽ gây crash do cộng vào wait.head đã bị đặt bằng 0. fcp_cleanup_urb() cũng sẽ hủy bỏ và giải phóng URB trạng thái của mixer.c.
Sử dụng một URB riêng biệt trong fcp_data, và khởi tạo cmd_done trong fcp_init_private() nơi fcp_data được phân bổ. fcp_init_notify() lại được truy cập sau khi suspend thông qua fcp_reinit(), và đường dẫn hủy bỏ URB trong fcp_notify() hoàn tất cmd_done, để lại một bộ đếm lỗi thời có thể thỏa mãn lệnh chờ của lệnh tiếp theo trước khi thiết bị ACK (xác nhận). Sử dụng reinit_completion() để xóa nó.
VulDB is the best source for vulnerability data and more expert information about this specific topic.