Description
In the Linux kernel, the following vulnerability has been resolved:

Input: goodix - clamp the device-reported contact count

goodix_ts_read_input_report() copies the number of touch points reported
by the device into an on-stack buffer

u8 point_data[2 + GOODIX_MAX_CONTACT_SIZE * GOODIX_MAX_CONTACTS];

which is sized for at most GOODIX_MAX_CONTACTS (10) contacts. The only
runtime check bounds the per-interrupt count against ts->max_touch_num,
but that value is taken verbatim from a 4-bit field of the device
configuration block and is never clamped:

ts->max_touch_num = ts->config[MAX_CONTACTS_LOC] & 0x0f;

The nibble can be 0..15, so a malfunctioning, malicious or counterfeit
controller (or an attacker tampering with the I2C bus) can advertise up
to 15 contacts. goodix_ts_read_input_report() then accepts a touch_num
of up to 15 and the second goodix_i2c_read() writes
ts->contact_size * (touch_num - 1) bytes past the one-contact header into
point_data - up to 30 bytes (45 with the 9-byte report format) beyond the
92-byte buffer: a stack out-of-bounds write.

Clamp max_touch_num to GOODIX_MAX_CONTACTS, the number of contacts
point_data[] is sized for, when reading it from the configuration.
Published: 2026-07-25
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel Goodix touchscreen driver contains a stack out‑of‑bounds write in the goodix_ts_read_input_report function. A four‑bit field from the device configuration is used to determine the maximum number of contacts to copy into a fixed 92‑byte on‑stack buffer without clamping this value to the buffer size. If a device reports more than the intended 10 contacts, the driver writes up to 30 bytes beyond the buffer, corrupting the kernel stack and potentially allowing arbitrary code execution or a kernel crash. This flaw corresponds to CWE‑787 (Out‑of‑Bounds Write).

Affected Systems

The vulnerability affects any Linux kernel image that includes the Goodix touchscreen driver configuration before the patch that clamps the max_touch_num value. Devices such as laptops, tablets, or other systems that load this driver and use a Goodix touch controller are directly impacted. Any system built with an older kernel version that does not apply the fix is susceptible.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity, and the EPSS score of less than 1 % shows a very low current exploitation probability. The flaw is not listed in the CISA KEV catalog. As a kernel out‑of‑bounds write, the vulnerability can lead to privilege escalation or denial of service. Based on the description, it is inferred that exploitation would require manipulating I2C traffic sent to or received from the Goodix controller. Possible, but unconfirmed, vectors might involve physical access, an application with privileged I2C access, or a malicious USB device that can inject I2C packets, yet the exact attack surface remains uncertain.

Generated by OpenCVE AI on August 13, 2026 at 20:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the Goodix driver fix that clamps the max_touch_num value
  • If an immediate kernel upgrade is not possible, disable or unload the Goodix touchscreen driver from the kernel configuration
  • Restrict I2C bus access to trusted processes and monitor for anomalous traffic

Generated by OpenCVE AI on August 13, 2026 at 20:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Thu, 13 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 01 Aug 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120

Thu, 30 Jul 2026 00:15:00 +0000


Tue, 28 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120
CWE-787

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Input: goodix - clamp the device-reported contact count goodix_ts_read_input_report() copies the number of touch points reported by the device into an on-stack buffer u8 point_data[2 + GOODIX_MAX_CONTACT_SIZE * GOODIX_MAX_CONTACTS]; which is sized for at most GOODIX_MAX_CONTACTS (10) contacts. The only runtime check bounds the per-interrupt count against ts->max_touch_num, but that value is taken verbatim from a 4-bit field of the device configuration block and is never clamped: ts->max_touch_num = ts->config[MAX_CONTACTS_LOC] & 0x0f; The nibble can be 0..15, so a malfunctioning, malicious or counterfeit controller (or an attacker tampering with the I2C bus) can advertise up to 15 contacts. goodix_ts_read_input_report() then accepts a touch_num of up to 15 and the second goodix_i2c_read() writes ts->contact_size * (touch_num - 1) bytes past the one-contact header into point_data - up to 30 bytes (45 with the 9-byte report format) beyond the 92-byte buffer: a stack out-of-bounds write. Clamp max_touch_num to GOODIX_MAX_CONTACTS, the number of contacts point_data[] is sized for, when reading it from the configuration.
Title Input: goodix - clamp the device-reported contact count
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-25T08:49:20.040Z

Reserved: 2026-07-19T15:36:31.776Z

Link: CVE-2026-64274

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-25T10:17:07.797

Modified: 2026-08-13T18:27:40.767

Link: CVE-2026-64274

cve-icon Redhat

Severity :

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64274 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T20:15:03Z

Weaknesses