Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count rmi_f30_map_gpios() allocates gpioled_key_map with min(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f30_attention() iterates the full f30->gpioled_count (device query register, range 0..31) and dereferences gpioled_key_map[i], and input->keycodemax is set to the full gpioled_count while input->keycode points at the 6-entry allocation. A device that reports gpioled_count > 6 with GPIO support enabled therefore causes an out-of-bounds read on the attention interrupt and out-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls, which bound the index only against keycodemax. This is the same defect as the F3A handler, which was copied from F30. Size the keymap for the full gpioled_count; the mapping loop still assigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before 8c6d18d61bb6fe0e6edf848413391c590552e8a9; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before d162a1ead7de404d8b41a093c83ed0db6487cded; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before f0be9eba946e9200b43265e0a748d38bd0a56954; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before 26c895928d7118436a24f564587cb4aefc40cdd8; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before 4e3689c26854356f41fbaa1eafa382e58ac79e00; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before e849c6f51e6877104c765da084e001ec37c8e119; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before bfe622efecd4ff0a792d0ecd1a8dce535a902f50; affected 3e64fcbdbd10e46dede502d507dbcc104837cd59 before d577e46785d45484b2ab7e7309c49b18764bf56c |
| Linux / Linux | affected 4.14; unaffected 0 before 4.14; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.96 through 6.12.*; unaffected 6.18.39 through 6.18.*; unaffected 7.1.4 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/8c6d18d61bb6fe0e6edf848413391c590552e8a9
- https://git.kernel.org/stable/c/d162a1ead7de404d8b41a093c83ed0db6487cded
- https://git.kernel.org/stable/c/f0be9eba946e9200b43265e0a748d38bd0a56954
- https://git.kernel.org/stable/c/26c895928d7118436a24f564587cb4aefc40cdd8
- https://git.kernel.org/stable/c/4e3689c26854356f41fbaa1eafa382e58ac79e00
- https://git.kernel.org/stable/c/e849c6f51e6877104c765da084e001ec37c8e119
- https://git.kernel.org/stable/c/bfe622efecd4ff0a792d0ecd1a8dce535a902f50
- https://git.kernel.org/stable/c/d577e46785d45484b2ab7e7309c49b18764bf56c
ADP enrichment
No English description supplied.
No references supplied.