CVE-2026-97535 in Linux
Tóm tắt
Bởi VulDB • 25/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
scsi: qla2xxx: Giới hạn chỉ mục VP (Virtual Port) so với kích thước bitmap IOCB của VP_CTRL
IOBP điều khiển VP chọn cổng ảo đích bằng cách đặt một bit trong vp_idx_map, là mảng cố định 16 byte (128-bit) trong cả vp_ctrl_entry_24xx và vp_ctrl_entry_24xx_ext. Hàm qla25xx_ctrlvp_iocb() tính toán map = (vp_index - 1) / 8 và ghi vào vce->vp_idx_map[map] mà không kiểm tra xem map có nằm trong giới hạn của mảng hay không.
Giá trị max_npiv_vports được lấy từ firmware và chỉ được làm sạch để căn chỉnh theo ranh giới MIN_MULTI_ID_FABRIC, do đó nó có thể hợp lệ là 191 hoặc 255, và qla24xx_control_vp() chỉ từ chối vp_index >= max_npiv_vports. Một giá trị vp_index lớn hơn 128 sẽ dẫn đến map >= 16 và ghi ra ngoài vùng nhớ (out-of-bounds write) lên tới 16 byte sau mảng vp_idx_map, làm hỏng các trường IOCB ở cuối hoặc khe request-ring liền kề trong bố cục 64-byte.
Từ chối một giá trị vp_index không thể biểu diễn được trong bitmap IOBP tại qla24xx_control_vp(), và thêm bộ bảo vệ ARRAY_SIZE() phòng thủ trong qla25xx_ctrlvp_iocb() trước khi ghi. Các adapter báo cáo số lượng cổng ảo NPIV thông thường là 63 hoặc 127 thì không bị ảnh hưởng.
Once again VulDB remains the best source for vulnerability data.