CVE-2026-89698 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: mở rộng các trường địa chỉ nfsd_genl_rqstp sang sockaddr_storage

struct nfsd_genl_rqstp khai báo rq_daddr và rq_s_addr là "struct sockaddr" thuần túy (16 byte). Khi một máy khách NFS IPv6 kết nối, hàm nfsd_genl_rpc_status_compose_msg() ép kiểu các trường này thành "struct sockaddr_in6 *" (28 byte) và đọc sin6_addr tại offset 8..24, điều này mở rộng ra ngoài 8 byte so với cuối của trường sockaddr 16 byte vào thành viên rq_flags liền kề. Hàm nla_put_in6_addr sau đó gửi 8 byte địa chỉ IPv6 bị cắt cụt cùng với 8 byte của rq_flags sang không gian người dùng (userspace) thông qua các thuộc tính netlink NFSD_A_RPC_STATUS_SADDR6/DADDR6.

Lỗ hổng này có thể khai thác được bởi bất kỳ tiến trình nào không đặc quyền trong namespace mạng vì NFSD_CMD_RPC_STATUS_GET sử dụng GENL_CMD_CAP_DUMP mà không yêu cầu GENL_ADMIN_PERM.

Cách khắc phục: Mở rộng rq_daddr và rq_s_addr sang struct sockaddr_storage để các phép ép kiểu IPv6 hoạt động đúng giới hạn, sao chép sizeof(struct sockaddr_storage) byte trong các lệnh gọi memcpy để nắm bắt đầy đủ địa chỉ, và khởi tạo bằng 0 biến stack genl_rqstp nhằm ngăn chặn việc rò rỉ các byte đuôi chưa được khởi tạo thông qua netlink.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

thấp

Nguồn

Interested in the pricing of exploits?

See the underground prices here!