CVE-2026-64274

Source
https://cve.org/CVERecord?id=CVE-2026-64274
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64274.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-64274
Downstream
Published
2026-07-25T08:49:20.040Z
Modified
2026-07-27T04:03:21.038401422Z
Summary
Input: goodix - clamp the device-reported contact count
Details

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

Input: goodix - clamp the device-reported contact count

goodixtsreadinputreport() 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 GOODIXMAXCONTACTS (10) contacts. The only runtime check bounds the per-interrupt count against ts->maxtouchnum, 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. goodixtsreadinputreport() then accepts a touchnum of up to 15 and the second goodixi2cread() writes ts->contactsize * (touchnum - 1) bytes past the one-contact header into pointdata - up to 30 bytes (45 with the 9-byte report format) beyond the 92-byte buffer: a stack out-of-bounds write.

Clamp maxtouchnum to GOODIXMAXCONTACTS, the number of contacts point_data[] is sized for, when reading it from the configuration.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64274.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
a7ac7c95d4682883d141c5d7a7544d2818f0a09f
Fixed
e825f352ef5271255cd08cc994b0dc25648a2f38
Fixed
4bfea9c3a0981c1c7fc5d1a1b27197b2de247902
Fixed
98b2caef249183b572c04451365246f919707845
Fixed
719d1a2c83a46be6bf81af905e4f6adb3d32dc28
Fixed
46addbd13dbf4aacb71cfbca964a5e552d0f45ae
Fixed
3b32303460155603d25444274856013d211d5e1f
Fixed
2a67668690129953e898923260a2dd1c7c196495
Fixed
5ed62a96e06be4e94b8296b7932afee550a70e04

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.1.0
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.96
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.39
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.4

Database specific

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