CVE-20XX-?
agent?

CVE-2026-19576

6.8 MEDIUM 0.2% exploit odds Fix listed Memory safety Device

What it is

The Goodix GT9xx input driver in drivers/input/input_gt911.c reads the touch point count from the controller's status register and masks it with GT911_TOUCH_POINTS_MSK (0x0F), yielding a value of 0..15. In gt911_process() that value is used directly as the loop bound for filling point_reg[], a stack array sized to CONFIG_INPUT_GT911_MAX_TOUCH_POINTS, whose Kconfig range is 1..5 with a default of 1. No other check constrains the count; the driver relied only on a comment asserting that the controller had been programmed at init to report no more points than configured. Each loop iteration issues an I2C read of eight bytes straight into point_reg[i], so a controller that reports more points than the array holds causes up to 112 bytes of peer-supplied data to be written past the end of the array, over the stack frame of gt911_process() in the system workqueue thread. Two further loops then read out of bounds from the same array. Triggering it requires control of, or the ability to substitute, the I2C touch controller — plausible on the many supported boards where the GT9xx panel is a pluggable display module or shield rather than an on-PCB part; a spoofed device need only answer the init probes with a supported product ID and a checksum-valid config blob. The same overflow can also occur non-adversarially, with a GT9271-class panel that ignores the driver's touch-count programming and reports up to ten points, or with bus corruption of the single status byte. The impact is an out-of-bounds stack write with fully attacker-chosen content executing at kernel privilege, i.e. potential control-flow hijack on the host MCU, in addition to out-of-bounds reads and crashes. The attack vector is physical/local hardware access only; there is no network, USB, or syscall path to the defect. The fix clamps the reported count with min() against CONFIG_INPUT_GT911_MAX_TOUCH_POINTS before any array indexing.

At a glance

Exploitability
Can be exploited with physical access without logging in. High risk of data exposure, data tampering, service disruption.
Exploit odds
0.2% chance of exploitation in the next 30 days (EPSS).
Fix
A patch, advisory or fixed version is referenced. Upgrade or apply it.

Timeline

  1. ReservedThe CVE id was reserved by its CNA
  2. PublishedDisclosed publicly on CVE.org and NVD
  3. Last updatedMost recent change to the record

Why it ranks here

Details

Published
Last modified
Exploit probability
0.2% · EPSS, next 30 days
Weakness
CWE-787 · Out-of-bounds write
Record status
Awaiting Analysis

Attack profile CVSS 3.1 · 6.8

Attack vector
Physical
Complexity
Low
Privileges needed
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Raw vector

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

Is it in your code?

Hand this to your coding agent. It searches your project for the affected products and checks versions. Nothing leaves your machine.

Read https://cve-list.com/agent/cve/CVE-2026-19576.md and follow it. Check whether this project is affected by CVE-2026-19576. Read only. Don't change anything and don't upload my code. Tell me yes, no or not sure, with the file as proof.

· More options · Status badge

Meme: I wake up, CVE-2026-19576
Download Square Reddit

Fix and advisories

References

NVD record · CVE.org record