CVE-2026-89684 in Linuxthông tin

Tóm tắt

Bởi VulDB • 12/09/2026

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

nfsd: sửa lỗi race condition trong việc công bố cpntf tại nfs4_init_cp_state

Hàm `nfs4_alloc_init_cpntf_state()` xuất bản (publish) mục nhập cpntf mới vào IDR s2s_cp_stateids (với cs_type đã được đặt) trong một khối khóa s2s_cp_lock, sau đó lấy lại khóa để thêm nó vào p_stid->sc_cp_list bằng hàm list_add(). Trong khoảng thời gian giữa hai thao tác này, mục nhập có thể truy cập được thông qua so_id nhưng cp_list vẫn là {NULL,NULL} do kzalloc. Một cuộc OFFLOAD_CANCEL cạnh tranh (so_id được lặp lại cho client dưới dạng cnr_stateid, nên bất kỳ NFSv4.2 client nào cũng có thể kích hoạt nó) sẽ đạt đến manage_cpntf_state() -> _free_cpntf_state_locked() và thực hiện list_del() trên một list_head đã bị xóa về 0 (zeroed), gây ra lỗi oops cho máy chủ.

Gộp việc gán cs_type và lệnh list_add() vào cùng một khối quan trọng với idr_alloc_cyclic(), để khi có truy vấn đồng thời, nó hoặc bỏ qua mục nhập này hoặc thấy cp_list được liên kết đầy đủ. Khởi tạo danh sách (INIT_LIST_HEAD()) cho mục nhập sau khi phân bổ bộ nhớ và chuyển _free_cpntf_state_locked() sang sử dụng list_del_init() để việc hủy liên kết cũ (stale unlink) trở thành thao tác không có hiệu lực (no-op). nfs4_init_copy_state() truyền p_stid là NULL và bỏ qua lệnh list_add, bảo toàn ngữ nghĩa của NFS4_COPY_STID.

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

11/09/2026

Tiết lộ

11/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!