CVE-2026-89690 in Linuxthông tin

Tóm tắt

Bởi VulDB • 12/09/2026

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

nfsd: trì hoãn việc giải phóng (vfree) của các thao tác compound để sửa lỗi Use-After-Free (UAF) trên rpc_status

Hàm dumpit của netlink rpc_status duyệt qua mọi svc_rqst đang trong quá trình xử lý dưới rcu_read_lock và, đối với các yêu cầu NFSv4, đọc opnums từ args->ops[]. Tuy nhiên, args->ops là một bộ nhớ vmalloc riêng biệt được giải phóng đồng bộ bằng vfree() trong nfsd4_release_compoundargs() vào cuối mỗi thao tác compound. Khóa rcu_read_lock của dumpit chỉ giữ cho cấu trúc svc_rqst (được giải phóng qua kfree_rcu) tồn tại, nhưng không có cơ chế nào trì hoãn việc giải phóng bộ nhớ ops vượt qua khoảng thời gian ân xá RCU (RCU grace period). Do đó, một thao tác compound hoàn tất đồng thời có thể giải phóng bộ nhớ trong khi dumpit đang đọc nó — đây là lỗi use-after-free trên vùng nhớ vmalloc.

Việc kiểm tra lại seqcount cuối cùng (smp_load_acquire của rq_status_counter) không thể đảo ngược một phép tải đã được thực hiện đối với vùng nhớ đã bị giải phóng.

Khắc phục bằng cách thay thế vfree(args->ops) bằng kvfree_rcu_mightsleep(), điều này trì hoãn việc giải phóng cho đến sau khoảng thời gian ân xá RCU. Điều này khiến rcu_read_lock hiện có trong dumpit đủ để bảo vệ phép đọc. Cái giá phải trả là các bộ nhớ đệm của thao tác compound đã hoàn tất (lên tới 200 * sizeof(struct nfsd4_op)) sẽ tồn tại lâu hơn một chút trong bộ nhớ, vượt qua một khoảng thời gian ân xá, trước khi được thu hồi.

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ộ

12/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

Interested in the pricing of exploits?

See the underground prices here!