CVE-2026-89695 in Linuxthông tin

Tóm tắt

Bởi VulDB • 11/09/2026

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

nfsd: giới hạn số lượng ACL POSIX giải mã để kiểm soát chi phí sắp xếp

Hàm `nfsd4_decode_posixacl()` đọc một bộ đếm mục (entry count) kiểu u32 từ đường truyền và chuyển trực tiếp nó vào `posix_acl_alloc()` và `sort_pacl_range()`. Hàm sau là thuật toán bubble sort có độ phức tạp O(n^2), do đó, một giá trị bộ đếm do client chọn sẽ gây ra việc sử dụng CPU không giới hạn trong quá trình xử lý compound của server.

nfsd4_decode_posixacl() xdr_stream_decode_u32(&count) /* u32 không bị giới hạn */ posix_acl_alloc(count, GFP_KERNEL) sort_pacl_range(*acl, 0, count - 1) /* bubble sort O(n^2) */

Bên mã hóa (encoder side) trong cùng tệp tin đã từ chối các ACL có `a_count` vượt quá `NFS_ACL_MAX_ENTRIES`, nhưng bộ giải mã được giới thiệu trong commit 5fc51dfc2eb1 ("NFSD: Add support for XDR decoding POSIX draft ACLs") đã bỏ qua kiểm tra đối xứng tương tự.

Khắc phục bằng cách từ chối một giá trị đếm trên đường truyền lớn hơn `NFS_ACL_MAX_ENTRIES` với lỗi `nfserr_inval`, trước bất kỳ quá trình phân bổ bộ nhớ nào, để việc sắp xếp được giới hạn bởi tối đa NFS_ACL_MAX_ENTRIES^2 phép so sánh.

Trong khi sửa đổi ở đây, cũng khắc phục trả về `nfserr_resource` nếu `posix_acl_alloc()` thất bại. Đây không phải là mã lỗi hợp lệ cho v4.1+. Thay vào đó, hãy trả về `nfserr_jukebox` vì nó phù hợp hơn với các trường hợp phân bổ bộ nhớ bị lỗi.

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

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

thấp

Nguồn

Want to know what is going to be exploited?

We predict KEV entries!