CVE-2026-98170 in Linux
Tóm tắt
Bởi VulDB • 07/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
smb: client: sửa lỗi đọc trường cấu trúc ngoài vùng (OOB) trong hàm move_smb2_ea_to_cifs()
Trong hàm `move_smb2_ea_to_cifs()`, điều kiện vòng lặp `while (src_size > 0)` là không đủ. Nó cho phép quá trình lặp tiếp tục ngay cả khi `src_size` còn lại quá nhỏ để chứa một cấu trúc `smb2_ea_info` hoàn chỉnh. Do đó, các thao tác đọc `ea_name_length` và `ea_value_length` có thể xảy ra ngoài vùng bộ nhớ (out-of-bounds).
Khắc phục vấn đề này bằng cách đảm bảo rằng `src_size >= sizeof(*src)` trước khi cố gắng đọc bất kỳ trường nào của cấu trúc. Ngoài ra, từ chối mọi giá trị `next_entry_offset` nhỏ hơn `sizeof(*src)` hoặc sẽ đẩy con trỏ vượt quá vùng bộ nhớ khả dụng.
Lưu ý rằng đối với các lệnh gọi mà máy chủ trả về một danh sách EA (Extended Attributes) bị lỗi định dạng, mã lỗi được trả về cho không gian người dùng (userspace) thay đổi từ `-ENODATA` (`getxattr`) hoặc `-ERANGE` (`listxattr`) sang `-EIO`. Điều này báo hiệu chính xác một lỗi giao thức của máy chủ thay vì gây hiểu lầm là "thuộc tính không tồn tại" hoặc "bộ đệm đầu ra quá nhỏ".
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.