ZeroHour

CVE-2026-89619

niche

Heap buffer overflow in Linux intel-quickspi (Intel THC) touch driver

CVSS 3.1
7.8 high
EPSS
Published
()
Modified
AI analysis

The Linux kernel's intel-thc-hid QuickSPI touch driver fails to bound the GET_REPORT response against the caller's buffer size: quickspi_hid_raw_request() receives a length from userspace hidraw ioctls (HIDIOCGFEATURE / HIDIOCGINPUT) but never passes it to quickspi_get_report(), which memcpy's the entire touch-controller-supplied response into the caller's buffer. A malicious or compromised SPI-attached touch controller that returns an oversized report can therefore overflow the buffer with device-controlled content, causing kernel memory corruption with potential crash or privilege-escalation impact (CVSS 3.1: 7.8, local vector, low privileges). Affected systems are those running kernels containing the vulnerable driver on Intel Touch Host Controller hardware with a QuickSPI-attached touch device. The fix mirrors the intel-quicki2c sibling driver by propagating and validating the caller length before the copy. No public proof of concept or in-the-wild exploitation is known, and the issue is not on the CISA KEV list.

What to do: Update to a kernel release that includes the fix, which passes the caller's buffer length into quickspi_get_report() and validates the device response size before copying, matching the intel-quicki2c behavior. If patching is delayed, consider blocking or blacklisting the intel_quickspi driver on affected Intel THC hardware and restricting access to /dev/hidraw nodes. Watch kernel logs for crashes in quickspi_hid_raw_request() during HIDIOCGFEATURE handling as an indicator of oversized device responses.

Affected
Linux kernel (intel-thc-hid: intel-quickspi QuickSPI HID touch driver)
Estimated exposure
niche≈thousands to low tens of thousands of systems (clearly an estimate) — The driver is recent mainline code and specific to Intel Touch Host Controller SPI touch hardware, so only a small slice of Linux laptops/2-in-1s running current kernels carry it; no public scan counts or install figures exist for this…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.