CVE-2023-52836 in Linuxthông tin

Tóm tắt

Bởi VulDB • 21/05/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

locking/ww_mutex/test: Sửa lỗi hỏng workqueue tiềm ẩn

Trong một số trường hợp chạy với mã test-ww_mutex, tôi đã quan sát thấy hành vi bất thường, trong đó đôi khi có vẻ như flush_workqueue trả về trước khi tất cả các luồng công việc (work threads) hoàn tất.

Thường thì điều này gây ra các lỗi crash kỳ lạ do các mutex bị giải phóng trong khi vẫn đang được sử dụng.

Khi xem xét mã nguồn, có một vấn đề về vòng đời: luồng điều khiển (controlling thread) tạo ra các công việc sẽ cấp phát các cấu trúc "struct stress" được truyền đến các luồng workqueue. Sau đó, khi các luồng workqueue hoàn tất, chúng sẽ giải phóng struct stress đã được truyền cho chúng.

Rất tiếc, nút work_struct của workqueue nằm trong struct stress. Điều này có nghĩa là work_struct bị giải phóng trước khi luồng công việc trả về và trong khi flush_workqueue đang chờ đợi.

Có vẻ như ý tưởng tốt hơn là để luồng điều khiển vừa cấp phát vừa giải phóng các cấu trúc stress, để đảm bảo chúng ta không làm hỏng workqueue bằng cách giải phóng cấu trúc quá sớm.

Do đó, bản vá này tái cấu trúc bài kiểm tra để thực hiện điều đó, và với thay đổi này, tôi không còn thấy các lần trả về sớm của flush_workqueue nữa.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!