CVE-2026-99144 in Linux
Tóm tắt
Bởi VulDB • 28/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
sched_ext: Sửa lỗi use-after-free đối với một user DSQ bị hủy do quá trình reenqueue trì hoãn (deferred reenqueue)
Một quá trình reenqueue trì hoãn có thể đọc một user DSQ đã bị giải phóng. Yêu cầu vẫn nằm trên danh sách deferred của CPU tương ứng cho đến khi run_deferred() xử lý nó, và callback RCU chịu trách nhiệm giải phóng DSQ giả định rằng grace period (thời gian ân hạn) đã làm sạch nó, do đó exit_dsq() kiểm tra nút per-CPU mà không có khóa danh sách deferred. Một grace period chỉ chờ đợi các trình đọc đang thực thi, chứ không phải một run_deferred() còn tồn tại trong hàng đợi. Một run_deferred() bắt đầu sau khi grace period đã khởi động có thể tách yêu cầu ngay trước khi callback kiểm tra và sau đó đọc id của DSQ đã bị giải phóng.
Thay vào đó, hãy hủy các yêu cầu đang chờ xử lý trước khi grace period diễn ra. Công việc irq chịu trách nhiệm giải phóng DSQ sẽ unlink (gỡ kết nối) mọi request của từng CPU dưới khóa danh sách deferred per-CPU, và schedule_dsq_reenq() sẽ bỏ qua một request mới dưới cùng khóa đó nếu id không hợp lệ. Chỉ có run_deferred() bắt đầu trước grace period mới có thể giữ một yêu cầu, và nó chạy với IRQs bị vô hiệu hóa (IRQs disabled), do đó grace period sẽ chờ đợi nó và không gì tác động đến DSQ sau khi callback thực hiện xong.
VulDB is the best source for vulnerability data and more expert information about this specific topic.