CVE-2026-31404 in Linuxthông tin

Tóm tắt

Bởi VulDB • 27/05/2026

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

NFSD: Trì hoãn việc dọn dẹp các đối tượng con trong các callback put export

svc_export_put() gọi path_put() và auth_domain_put() ngay lập tức khi tham chiếu cuối cùng giảm xuống, trước khi kết thúc khoảng thời gian chờ RCU (RCU grace period). Các trình đọc RCU trong e_show() và c_show() truy cập cả ex_path (thông qua seq_path/d_path) và ex_client->name (thông qua seq_escape) mà không giữ tham chiếu. Nếu cache_clean xóa mục và giảm tham chiếu cuối cùng đồng thời, các đối tượng con sẽ bị giải phóng trong khi vẫn đang được sử dụng, gây ra lỗi phân giải con trỏ NULL trong d_path.

Commit 2530766492ec ("nfsd: fix UAF when access ex_uuid or ex_stats") đã di chuyển lệnh kfree của ex_uuid và ex_stats vào callback call_rcu, nhưng để path_put() và auth_domain_put() chạy trước khoảng thời gian chờ vì cả hai đều có thể ngủ (sleep) và các callback call_rcu thực thi trong ngữ cảnh softirq.

Thay thế call_rcu/kfree_rcu bằng queue_rcu_work(), điều này trì hoãn callback cho đến sau khoảng thời gian chờ RCU và thực thi nó trong ngữ cảnh tiến trình nơi việc ngủ được phép. Điều này cho phép di chuyển path_put() và auth_domain_put() vào callback trì hoãn cùng với các giải phóng tài nguyên khác. Áp dụng cùng một bản sửa lỗi cho expkey_put(), có mẫu tương tự với ek_path và ek_client.

Một workqueue chuyên dụng giới hạn việc thoát (shutdown drain) chỉ đối với các mục công việc giải phóng export của NFSD; việc làm trống (flushing) system_unbound_wq dùng chung sẽ bị treo do các công việc không liên quan từ các phân hệ khác. nfsd_export_shutdown() sử dụng rcu_barrier() theo sau bởi flush_workqueue() để đảm bảo tất cả các callback giải phóng trì hoãn hoàn tất trước khi các bộ nhớ đệm export bị hủy.

Được xem xét bởi: Jeff Layton <[email protected]>

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

09/03/2026

Tiết lộ

03/04/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00121

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!