CVE-2026-99175 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:
fsnotify: ngăn chặn việc thêm dấu (mark) trong quá trình tháo dỡ connector
Hàm fsnotify_destroy_marks() giữ một tham chiếu đến dấu hiện tại của nó khi giải phóng conn->lock để phá hủy dấu đó. Điều này ổn định con trỏ duyệt tiến, nhưng không ngăn cản một dấu mới được chèn vào trước vị trí đó. Ví dụ, một watch inotify được thêm lại sau sự kiện IN_IGNORED sẽ sắp xếp trước dấu cũ đã bị tách rời cho cùng một nhóm (group). Quá trình duyệt có thể bỏ qua bản thay thế và sau đó ngắt kết nối toàn bộ connector khỏi đối tượng.
Bản thay thế vẫn nằm trong marks_list của group và, đối với inotify, nằm trong watch IDR. Khóa mutex của group không còn bảo vệ object của connector khỏi việc biến mất. Do đó, một cuộc đua (race) khi đọc fdinfo bởi người dùng chưa được phân quyền có thể dẫn đến lệnh gọi igrab(NULL):
BUG: KASAN: null-ptr-deref in igrab+0x24/0x100 Write of size 4 at addr 0000000000000148 Call Trace: igrab+0x24/0x100 inotify_show_fdinfo+0x1dc/0x5e0 seq_show+0x397/0x690
Đặt cờ DESTROYING dưới conn->lock trước khi bắt đầu quá trình duyệt, và từ chối các dấu mới trên connector đó bằng cách trả về -ENOENT. Các đường dẫn lỗi thêm-dấu hiện có sẽ hoàn tác mục nhập danh sách nhóm tạm thời và việc phân bổ watch của backend. Không chờ đợi quá trình tháo dỡ trong khi giữ khóa mutex group, vì bộ giải phóng (destroyer) cần quyền truy cập vào nó. Một lần connector cũ bị ngắt kết nối, một thao tác thêm mới có thể cài đặt một connector tươi mới như trước đây.
Điều này đóng lỗ hổng race chèn đối với tất cả các loại object sử dụng quá trình tháo dỡ connector chung, mà không thay đổi quy tắc về tham chiếu dấu hoặc vòng đời SRCU.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.