CVE-2026-64277 in Linuxthông tin

Tóm tắt

Bởi VulDB • 26/07/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

Input: synaptics-rmi4 - ràng buộc bản đồ phím F3A với số lượng GPIO

Hàm `rmi_f3a_initialize()` lấy giá trị đếm GPIO từ thanh ghi truy vấn thiết bị (`f3a->gpio_count = buf & RMI_F3A_GPIO_COUNT`, phạm vi 0..127). Sau đó, hàm `rmi_f3a_map_gpios()` cấp phát `gpio_key_map` với số lượng phần tử tối thiểu giữa `gpio_count` và `TRACKSTICK_RANGE_END`, tức là không quá 6 mục. Tuy nhiên, hàm `rmi_f3a_attention()` lặp qua toàn bộ giá trị `gpio_count` và giải tham chiếu `gpio_key_map[i]`, trong khi `input->keycodemax` được đặt bằng toàn bộ giá trị `gpio_count`, còn con trỏ `input->keycode` chỉ trỏ đến vùng cấp phát 6 mục.

Do đó, một thiết bị báo cáo `gpio_count > 6` sẽ gây ra lỗi đọc ngoài phạm vi (out-of-bounds read) đối với mảng `gpio_key_map[]` trên mỗi ngắt attention, cũng như các truy cập ngoài phạm vi thông qua các ioctl bản đồ phím mặc định của lõi input: lệnh EVIOCGKEYCODE đọc vượt quá bộ đệm (làm rò rỉ bộ nhớ slab liền kề ra không gian người dùng), và lệnh EVIOCSKEYCODE ghi một giá trị do caller kiểm soát vào vùng đó, đối với bất kỳ tiến trình nào có thể mở node evdev, vì các hàm `input_default_getkeycode()` và `input_default_setkeycode()` chỉ ràng buộc chỉ mục dựa trên `keycodemax`.

Điều chỉnh kích thước bản đồ phím cho toàn bộ giá trị `gpio_count`. Vòng lặp ánh xạ vẫn không thay đổi: nó vẫn chỉ gán cho số lượng phần tử tối thiểu giữa `gpio_count` và `TRACKSTICK_RANGE_END`; các khe còn lại giữ nguyên trạng thái KEY_RESERVED (do hàm devm_kcalloc điền bằng 0) và bị bỏ qua khi báo cáo.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

19/07/2026

Tiết lộ

25/07/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00220

KEV

không

Các hoạt động

trung bình

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!