Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - zero report size on F54 work error In rmi_f54_work(), if an error occurs during report request or command verification, the code jumped directly to the 'error' label, bypassing the 'abort' label where f54->report_size was normally zeroed out. This left f54->report_size containing its previous successful payload size. If a user then altered the V4L2 format to a smaller size, and a subsequent run failed, rmi_f54_buffer_queue() would copy the stale, larger payload size into the shrunken V4L2 buffer, causing a heap buffer overflow. Fix this by merging the 'abort' and 'error' labels into a single 'out' exit path, and ensuring that f54->report_size is always set to 0 on failure by checking for error and zeroing the local report_size first.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before 62079c17ec07d64362bec367ee7a525b0dbf6bf9; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before 79521ed3cc9ea48476666ccacf45ecd6954b29a4; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before c669c64ab71afa7b467c4d7e18f6a05e96b97a1f; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before 77749685e55da19b187df215b5da4080842ca5c7; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before c6cfda79f26c69e97db9805808c3b44d02227b4b; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before b28593a05afdd812b590e1045b5bd862a5869225; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before 88c8174d72900d77fbdf2f527d54b6ff2da876a8; affected 3a762dbd5347514c3cb2ac756a92a3d1c7646a2d before dc76c3c8e8ad09362b8c1561f3928288c15cba2e |
| Linux / Linux | affected 4.9; unaffected 0 before 4.9; unaffected 5.10.266 through 5.10.*; unaffected 5.15.217 through 5.15.*; unaffected 6.1.184 through 6.1.*; unaffected 6.6.153 through 6.6.*; unaffected 6.12.105 through 6.12.*; unaffected 6.18.46 through 6.18.*; unaffected 7.1.10 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/62079c17ec07d64362bec367ee7a525b0dbf6bf9
- https://git.kernel.org/stable/c/79521ed3cc9ea48476666ccacf45ecd6954b29a4
- https://git.kernel.org/stable/c/c669c64ab71afa7b467c4d7e18f6a05e96b97a1f
- https://git.kernel.org/stable/c/77749685e55da19b187df215b5da4080842ca5c7
- https://git.kernel.org/stable/c/c6cfda79f26c69e97db9805808c3b44d02227b4b
- https://git.kernel.org/stable/c/b28593a05afdd812b590e1045b5bd862a5869225
- https://git.kernel.org/stable/c/88c8174d72900d77fbdf2f527d54b6ff2da876a8
- https://git.kernel.org/stable/c/dc76c3c8e8ad09362b8c1561f3928288c15cba2e