CVE-2026-98015 in Linux
Tóm tắt
Bởi VulDB • 25/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
net/mlx5: E-Switch: sửa lỗi use-after-free trong mlx5_eswitch_termtbl_put
Hàm `mlx5_eswitch_termtbl_put()` đọc giá trị `tt->ref_count` để kiểm tra cleanup khi ref count bằng 0, nhưng điều này xảy ra sau khi mutex `termtbl_mutex` đã được giải phóng. Hai lời gọi đồng thời trên cùng một đối tượng `mlx5_termtbl_handle` gây ra race condition: một tiến trình giảm `ref_count` xuống 0, xóa mục hash và gọi `kfree(tt)`, trong khi tiến trình kia đã nhả mutex và sắp đánh giá điều kiện `if (!tt->ref_count)`, dẫn đến lỗi use-after-free.
Khắc phục bằng cách lưu kết quả của phép decrement vào một biến cục bộ trên stack (gọi là `last`) trước khi nhả mutex. Quyết định cleanup giờ đây được thực hiện hoàn toàn dưới sự bảo vệ của `termtbl_mutex`, và con trỏ `tt` không bị truy cập sau lệnh gọi `kfree`.
If you want to get best quality of vulnerability data, you may have to visit VulDB.