CVE-2026-80768

Source
https://cve.org/CVERecord?id=CVE-2026-80768
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80768.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-80768
Downstream
Published
2026-09-04T15:12:40.374Z
Modified
2026-09-06T03:46:42.669385537Z
Summary
HID: ft260: fix stack-use-after-return write in I2C read race
Details

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

HID: ft260: fix stack-use-after-return write in I2C read race

ft260i2cread() points dev->readbuf at a caller-supplied buffer (often an on-stack variable), arms a completion and waits up to five seconds for the device to return the data. The HID input callback ft260rawevent() runs in the input/IRQ path, independent of the dev->lock mutex held by the read path, and copies the device-supplied payload into dev->readbuf after a plain NULL check.

These two paths share readbuf, readidx and readlen with no serialization. If the device delays its response until the read times out, ft260i2cread() resets the controller, clears readbuf and returns, unwinding the stack frame the buffer lived in. A response that arrives at that moment lets ft260rawevent() pass the NULL check and then memcpy() the device-controlled payload into the now-freed stack location, a bounded but attacker-influenced stack-use-after-return write triggerable by malicious or malfunctioning hardware.

Add a dedicated spinlock that serializes every access to readbuf, readidx and readlen. ft260raw_event() now holds it across the NULL check, the memcpy and the index update, while the read path takes it when arming and when clearing the buffer, so the teardown can no longer slip between the check and the copy.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80768.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
6a82582d9fa438045191074856f47165334f2777
Fixed
2b907001e8a83cdb71e899fd3d77ab51e2c03f10
Fixed
90e9298f2e4336a0e1ca7eeb173403df78056164
Fixed
460514d46e8892189fc933a1b4433811cfa5c309
Fixed
5aa5a1b7cc4b4bec5497ad9ef113fdfe37b232f3
Fixed
a8e1f970f9040294cfd9100c681c32af6c2aeec0
Fixed
d7ffbdc076675c84128d5b904e4d5167fe9f3a7f
Fixed
77832d8f1c81d9f84b6b54807fb278586001d754
Fixed
bf3e39df3a397fd82967a31d17c4e02c7feab221

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80768.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.13.0
Fixed
5.15.220
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.187
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.156
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.108
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.49
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.11
Type
ECOSYSTEM
Events
Introduced
7.2.0
Fixed
7.2.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80768.json"