CVE-2026-98635 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:
scsi: block: Sửa lỗi ghi vượt ra ngoài vùng nhớ (out-of-bounds) của zones_cond khi báo cáo zone
Hàm blk_revalidate_disk_zones() xác định kích thước mảng zones_cond dựa trên dung lượng đĩa và kích thước zone, nhưng chỉ số do blk_revalidate_zone_cond() sử dụng đến từ quá trình duyệt report_zones() được điều khiển bởi thiết bị và không bao giờ được kiểm tra so với kích thước của mảng. Một thiết bị báo cáo nhiều zone hơn mức mà mảng có thể chứa sẽ khiến hàm blk_zone_set_cond() ghi dữ liệu vượt ra ngoài vùng nhớ hợp lệ.
Một cách để đạt đến tình trạng này là số lượng zone vượt quá 32 bit: cả nr_zones trong blk_revalidate_zone_args và struct zoned_disk_info đều là kiểu unsigned int, do đó một đĩa quảng cáo nhiều hơn UINT_MAX zones (ví dụ: 2^32 + 1024 zones với mỗi block logic kích thước 512 byte) sẽ khiến số lượng zone bị cắt ngắn xuống một giá trị nhỏ, làm giảm kích thước mảng trong khi quá trình duyệt báo cáo vẫn tiếp tục tăng dần.
Hãy kiểm tra chỉ số so với kích thước của mảng trước khi lưu điều kiện zone, và từ chối thực hiện lại việc xác nhận hợp lệ (revalidate) nếu số lượng zone không vừa với 32 bit.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.