In the Linux kernel, the following vulnerability has been resolved: HID: intel-thc-hid: intel-quickspi: bound GET_REPORT response to the caller buffer quickspi_hid_raw_request() receives the caller's buffer length in len, but quickspi_get_report() never sees it and copies the whole device-supplied response into buf regardless: memcpy(buf, qsdev->report_buf, qsdev->report_len); qsdev->report_len comes from the input report the touch controller returns, while buf is sized to whatever the caller asked hidraw for through HIDIOCGFEATURE or HIDIOCGINPUT. A response larger than that overflows buf with device-controlled content. The intel-quicki2c sibling already passes the caller length down to quicki2c_get_report() and validates the response against it before the copy. Do the same here.
https://git.kernel.org/stable/c/72706b44b665679d7d60a488d8776a911f1a93f3
https://git.kernel.org/stable/c/54e0bafc0653bdf2a6c5f5f8ad8787a820d98663
https://git.kernel.org/stable/c/035ec4a71cb8020a927c123bbe75c2f88d614986