In the Linux kernel, the following vulnerability has been resolved: Input: touchwin - reset the packet index on every complete packet tw_interrupt()… (CVE-2026-64271)
Source GCVE Database
No CVSS score published yet
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
What to do
AI-suggested
The described fix resets the packet index on every completed packet and reports events only when the two Y bytes match, preventing the out-of-bounds write. Users should monitor for official Linux kernel updates addressing CVE-2026-64271 and apply them promptly once available.
Description
In the Linux kernel, the following vulnerability has been resolved: Input: touchwin - reset the packet index on every complete packet tw_interrupt() accumulates each non-zero serial byte into a fixed three-byte buffer with a running index that is only reset once a full packet has been received *and* the device's two Y bytes agree: tw->data[tw->idx++] = data; if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { ... tw->idx = 0; } The reset is gated on tw->data[1] == tw->data[2], a value the device controls. A malicious, malfunctioning or counterfeit Touchwindow peripheral can stream non-zero bytes whose 2nd and 3rd bytes differ: the index reaches TW_LENGTH without the equality holding, is never reset, and keeps growing, so tw->data[tw->idx++] walks off the end of the three-byte array and the rest of the heap-allocated struct tw, one attacker-chosen byte at a time -- an unbounded, device-driven heap out-of-bounds write. Reset the index on every completed packet and report an event only when the two Y bytes match, like the other serio touchscreen drivers do.
Impact
An attacker controlling a malicious or malfunctioning Touchwindow device can exploit this vulnerability to perform unbounded heap out-of-bounds writes in kernel memory. This could lead to memory corruption, potential privilege escalation, or system instability. However, exploitation requires physical or logical control over the input device, limiting the attack vector.
Summary
The Linux kernel's touchwin input driver accumulates serial bytes into a fixed three-byte buffer with an index reset only when a full packet is received and the device-controlled second and third bytes match. A malicious or counterfeit Touchwindow peripheral can send non-zero bytes with differing second and third bytes, preventing the index reset and causing the index to exceed the buffer length. This results in an unbounded heap out-of-bounds write, allowing an attacker to overwrite adjacent heap memory one byte at a time. The fix involves resetting the packet index on every completed packet and only reporting events when the two bytes match, aligning with other serio touchscreen drivers.
References
- nvd.nist.gov/vuln/detail/CVE-2026-64271 (opens in a new tab)
- git.kernel.org/stable/c/044167cba2384bcd783547ad5e30ecd292b30919 (opens in a new tab)
- git.kernel.org/stable/c/3e6f007b43e2fc6546e21fa74ee62c38984a6672 (opens in a new tab)
- git.kernel.org/stable/c/431ad239f2924dff337c3fccb9246597c1b63185 (opens in a new tab)
- git.kernel.org/stable/c/478cdd736f2ce3114f90e775d7358136d3977b94 (opens in a new tab)
- git.kernel.org/stable/c/6c9f29f128dd4057404838259af4c645318487e1 (opens in a new tab)
- git.kernel.org/stable/c/70e4248793762df9832fd4fc2fc6ac7924572c36 (opens in a new tab)
- git.kernel.org/stable/c/a8d87184576c889759e3aab899799a482f1e1a5b (opens in a new tab)
- git.kernel.org/stable/c/ed9b66905407eb3d02df1aaeed82eb7a7f0eb508 (opens in a new tab)