CVE-2026-64270 (GCVE-0-2026-64270)
Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-07-25 08:49
VLAI
EPSS
VEX
Title
Input: mms114 - reject an oversized device packet size
Summary
In the Linux kernel, the following vulnerability has been resolved:
Input: mms114 - reject an oversized device packet size
mms114_interrupt() reads a packet of touch data from the device into a
fixed-size on-stack buffer
struct mms114_touch touch[MMS114_MAX_TOUCH];
which holds MMS114_MAX_TOUCH (10) events of MMS114_EVENT_SIZE (8) bytes,
i.e. 80 bytes. The length of the I2C read into it is taken verbatim from
the device:
packet_size = mms114_read_reg(data, MMS114_PACKET_SIZE);
if (packet_size <= 0)
goto out;
...
error = __mms114_read_reg(data, MMS114_INFORMATION, packet_size,
(u8 *)touch);
packet_size is a single device register byte (0x0F) and the only check
is the lower bound packet_size <= 0; it is never bounded against the
size of touch[]. A malfunctioning, malicious or counterfeit controller
(or an attacker tampering with the I2C bus) can report a packet_size of
up to 255, so __mms114_read_reg() writes up to 175 bytes past the end of
touch[] on the IRQ-thread stack: a stack out-of-bounds write that can
overwrite the stack canary, saved registers and the return address.
A well-formed device never reports more than the buffer holds, so reject
an oversized packet and drop the report, consistent with the handler's
other error paths, rather than reading past the buffer.
Severity
No CVSS data available.
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
07b8481d4aff73d6f451f25e74ea10240ff5131e , < 5d2ea15ba03bf17ed143ff1a0995a4206edc3fb6
(git)
Affected: 07b8481d4aff73d6f451f25e74ea10240ff5131e , < b78150729762d47c14fe29a2582bdca5568e62b8 (git) Affected: 07b8481d4aff73d6f451f25e74ea10240ff5131e , < 8301c335305344d4da4ab9442b6a399dacfe5b8d (git) Affected: 07b8481d4aff73d6f451f25e74ea10240ff5131e , < f3d5e77b27fded71dcb97f409262bf0abba0410e (git) Affected: 07b8481d4aff73d6f451f25e74ea10240ff5131e , < 66725039f7090afe14c31bd259e2059a68f04023 (git) |
|
| Linux | Linux |
Affected:
3.6
Unaffected: 0 , < 3.6 (semver) Unaffected: 6.6.145 , ≤ 6.6.* (semver) Unaffected: 6.12.96 , ≤ 6.12.* (semver) Unaffected: 6.18.39 , ≤ 6.18.* (semver) Unaffected: 7.1.4 , ≤ 7.1.* (semver) Unaffected: 7.2-rc1 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/input/touchscreen/mms114.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "5d2ea15ba03bf17ed143ff1a0995a4206edc3fb6",
"status": "affected",
"version": "07b8481d4aff73d6f451f25e74ea10240ff5131e",
"versionType": "git"
},
{
"lessThan": "b78150729762d47c14fe29a2582bdca5568e62b8",
"status": "affected",
"version": "07b8481d4aff73d6f451f25e74ea10240ff5131e",
"versionType": "git"
},
{
"lessThan": "8301c335305344d4da4ab9442b6a399dacfe5b8d",
"status": "affected",
"version": "07b8481d4aff73d6f451f25e74ea10240ff5131e",
"versionType": "git"
},
{
"lessThan": "f3d5e77b27fded71dcb97f409262bf0abba0410e",
"status": "affected",
"version": "07b8481d4aff73d6f451f25e74ea10240ff5131e",
"versionType": "git"
},
{
"lessThan": "66725039f7090afe14c31bd259e2059a68f04023",
"status": "affected",
"version": "07b8481d4aff73d6f451f25e74ea10240ff5131e",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/input/touchscreen/mms114.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.6"
},
{
"lessThan": "3.6",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.145",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.96",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.39",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.145",
"versionStartIncluding": "3.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.96",
"versionStartIncluding": "3.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.39",
"versionStartIncluding": "3.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.4",
"versionStartIncluding": "3.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2-rc1",
"versionStartIncluding": "3.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: mms114 - reject an oversized device packet size\n\nmms114_interrupt() reads a packet of touch data from the device into a\nfixed-size on-stack buffer\n\n\tstruct mms114_touch touch[MMS114_MAX_TOUCH];\n\nwhich holds MMS114_MAX_TOUCH (10) events of MMS114_EVENT_SIZE (8) bytes,\ni.e. 80 bytes. The length of the I2C read into it is taken verbatim from\nthe device:\n\n\tpacket_size = mms114_read_reg(data, MMS114_PACKET_SIZE);\n\tif (packet_size \u003c= 0)\n\t\tgoto out;\n\t...\n\terror = __mms114_read_reg(data, MMS114_INFORMATION, packet_size,\n\t\t\t(u8 *)touch);\n\npacket_size is a single device register byte (0x0F) and the only check\nis the lower bound packet_size \u003c= 0; it is never bounded against the\nsize of touch[]. A malfunctioning, malicious or counterfeit controller\n(or an attacker tampering with the I2C bus) can report a packet_size of\nup to 255, so __mms114_read_reg() writes up to 175 bytes past the end of\ntouch[] on the IRQ-thread stack: a stack out-of-bounds write that can\noverwrite the stack canary, saved registers and the return address.\n\nA well-formed device never reports more than the buffer holds, so reject\nan oversized packet and drop the report, consistent with the handler\u0027s\nother error paths, rather than reading past the buffer."
}
],
"providerMetadata": {
"dateUpdated": "2026-07-25T08:49:17.541Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/5d2ea15ba03bf17ed143ff1a0995a4206edc3fb6"
},
{
"url": "https://git.kernel.org/stable/c/b78150729762d47c14fe29a2582bdca5568e62b8"
},
{
"url": "https://git.kernel.org/stable/c/8301c335305344d4da4ab9442b6a399dacfe5b8d"
},
{
"url": "https://git.kernel.org/stable/c/f3d5e77b27fded71dcb97f409262bf0abba0410e"
},
{
"url": "https://git.kernel.org/stable/c/66725039f7090afe14c31bd259e2059a68f04023"
}
],
"title": "Input: mms114 - reject an oversized device packet size",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-64270",
"datePublished": "2026-07-25T08:49:17.541Z",
"dateReserved": "2026-07-19T15:36:31.775Z",
"dateUpdated": "2026-07-25T08:49:17.541Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-64270",
"date": "2026-07-26",
"epss": "0.002",
"percentile": "0.10115"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-64270\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-25T10:17:07.293\",\"lastModified\":\"2026-07-25T10:17:07.293\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nInput: mms114 - reject an oversized device packet size\\n\\nmms114_interrupt() reads a packet of touch data from the device into a\\nfixed-size on-stack buffer\\n\\n\\tstruct mms114_touch touch[MMS114_MAX_TOUCH];\\n\\nwhich holds MMS114_MAX_TOUCH (10) events of MMS114_EVENT_SIZE (8) bytes,\\ni.e. 80 bytes. The length of the I2C read into it is taken verbatim from\\nthe device:\\n\\n\\tpacket_size = mms114_read_reg(data, MMS114_PACKET_SIZE);\\n\\tif (packet_size \u003c= 0)\\n\\t\\tgoto out;\\n\\t...\\n\\terror = __mms114_read_reg(data, MMS114_INFORMATION, packet_size,\\n\\t\\t\\t(u8 *)touch);\\n\\npacket_size is a single device register byte (0x0F) and the only check\\nis the lower bound packet_size \u003c= 0; it is never bounded against the\\nsize of touch[]. A malfunctioning, malicious or counterfeit controller\\n(or an attacker tampering with the I2C bus) can report a packet_size of\\nup to 255, so __mms114_read_reg() writes up to 175 bytes past the end of\\ntouch[] on the IRQ-thread stack: a stack out-of-bounds write that can\\noverwrite the stack canary, saved registers and the return address.\\n\\nA well-formed device never reports more than the buffer holds, so reject\\nan oversized packet and drop the report, consistent with the handler\u0027s\\nother error paths, rather than reading past the buffer.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/input/touchscreen/mms114.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"07b8481d4aff73d6f451f25e74ea10240ff5131e\",\"lessThan\":\"5d2ea15ba03bf17ed143ff1a0995a4206edc3fb6\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"07b8481d4aff73d6f451f25e74ea10240ff5131e\",\"lessThan\":\"b78150729762d47c14fe29a2582bdca5568e62b8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"07b8481d4aff73d6f451f25e74ea10240ff5131e\",\"lessThan\":\"8301c335305344d4da4ab9442b6a399dacfe5b8d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"07b8481d4aff73d6f451f25e74ea10240ff5131e\",\"lessThan\":\"f3d5e77b27fded71dcb97f409262bf0abba0410e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"07b8481d4aff73d6f451f25e74ea10240ff5131e\",\"lessThan\":\"66725039f7090afe14c31bd259e2059a68f04023\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/input/touchscreen/mms114.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3.6\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"3.6\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.145\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.96\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.39\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.4\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/5d2ea15ba03bf17ed143ff1a0995a4206edc3fb6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/66725039f7090afe14c31bd259e2059a68f04023\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8301c335305344d4da4ab9442b6a399dacfe5b8d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b78150729762d47c14fe29a2582bdca5568e62b8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f3d5e77b27fded71dcb97f409262bf0abba0410e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
"suse_vex": {
"aggregate_severity": "not set",
"current_release_date": "2026-07-25T16:46:54Z",
"cve": "CVE-2026-64270",
"id": "CVE-2026-64270",
"initial_release_date": "2026-07-25T16:46:54Z",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2026-64270",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64270.json",
"version": "2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
Loading…
Loading…