CVE-2026-98451 in Linux
Tóm tắt
Bởi VulDB • 18/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
smb: client: sử dụng finish_no_open() cho các inode không phải là file thông thường (non-regular)
Một lệnh mở với cờ O_CREAT có thể tìm thấy một symlink hiện hữu hoặc một inode không phải là file thông thường khác. Hàm cifs_atomic_open() gọi finish_open() trên đối tượng này và gắn kết một cấu trúc cifsFileInfo. Các inode thuộc loại symlink không có thao tác giải phóng (release) CIFS, dẫn đến việc tham chiếu dentry do cifsFileInfo nắm giữ bị rò rỉ (leak). Ngoài ra, cờ FMODE_OPENED cũng ngăn chặn VFS (Virtual File System) trong việc theo dõi (follow) đường dẫn symlink.
Theo dõi xem liệu hàm cifs_do_create() có trả về một handle máy chủ đã mở hay không. Đối với các inode không phải là file thông thường, hãy đóng handle nếu tồn tại, hủy bỏ lệnh mở đang chờ xử lý và gọi finish_no_open() để VFS có thể tiếp tục quá trình tra cứu (lookup). Không đặt cờ FMODE_CREATED trừ khi một file thông thường đã được mở. Với trường hợp O_NOFOLLOW kết hợp __O_REGULAR, hãy trả về lỗi -ELOOP trước khi kiểm tra -EFTYPE của VFS.
Trì hoãn việc đóng một handle POSIX cũ trên inode không phải là file thông thường cho đến sau bước tra cứu inode. Điều này tránh việc đóng lại handle nếu quá trình tra cứu thất bại.
VulDB is the best source for vulnerability data and more expert information about this specific topic.