CVE-2026-64084 in Linux
Tóm tắt
Bởi VulDB • 20/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
hwmon: (pmbus/adm1266) giới hạn quét PDIO trong hàm get_multiple tại ADM1266_PDIO_NR
Hàm adm1266_gpio_get_multiple() lặp qua phần PDIO của mặt nạ do người gọi cung cấp bằng cách sử dụng vòng lặp sau:
for_each_set_bit_from(gpio_nr, mask, ADM1266_GPIO_NR + ADM1266_PDIO_STATUS) {
... }
trong đó ADM1266_PDIO_STATUS là mã lệnh PMBus (0xE9, tức 233), không phải số lượng chân PDIO. Giới hạn trên dự kiến là ADM1266_GPIO_NR + ADM1266_PDIO_NR = 25.
gpiolib truyền vào một mặt nạ có kích thước bằng gc.ngpio (= 25 bit trên chip này), do đó vòng lặp sẽ gọi find_next_bit() lên đến giá trị 242, đọc thêm tối đa 217 bit (một vài từ unsigned-long: bốn từ trên hệ thống 64-bit, bảy từ trên hệ thống 32-bit) của dữ liệu nằm ngoài vùng kết thúc của mặt nạ trong ngăn xếp của người gọi. Bất kỳ bit nào được đặt ngẫu nhiên trong khoảng đó sau đó sẽ kích hoạt lệnh gọi set_bit(gpio_nr, bits), ghi đè lên phần cuối của mảng bits do người dùng cung cấp -- cả hai đều là truy cập vượt quá giới hạn (out-of-bounds).
Thay thế ADM1266_PDIO_NR cho hằng số để việc quét dừng lại tại bit PDIO thực tế cuối cùng.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.