In the Linux kernel, the following vulnerability has been resolved: Input: mms114 - reject an oversized device packet size mms114_interrupt() reads… (CVE-2026-64270)
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.
AI Analysis
Technical Summary
The Linux kernel mms114 driver reads touch data packets from a device into a fixed-size on-stack buffer designed to hold 80 bytes (10 events × 8 bytes each). The packet size is read from a device register as a single byte and only checked to be greater than zero, but not bounded against the buffer size. A malicious or malfunctioning device can report a packet size up to 255 bytes, causing the __mms114_read_reg() function to write up to 175 bytes beyond the buffer on the IRQ thread stack. This stack out-of-bounds write can overwrite the stack canary, saved registers, and return address, potentially leading to arbitrary code execution or kernel corruption. The fix involves rejecting packets that exceed the buffer size and dropping such reports, consistent with existing error handling.
Potential Impact
This vulnerability allows a stack buffer overflow in the Linux kernel's mms114 driver, which can corrupt kernel stack memory including the stack canary and return address. This corruption could be exploited to execute arbitrary code with kernel privileges or cause a denial of service by crashing the kernel. The vulnerability requires a malicious or malfunctioning device or attacker with the ability to tamper with the I2C bus to report an oversized packet size.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix rejects oversized packets and drops the report instead of reading past the buffer. Until an official patch is confirmed, avoid using untrusted or counterfeit devices that interact with the mms114 driver and monitor vendor advisories for updates.
In the Linux kernel, the following vulnerability has been resolved: Input: mms114 - reject an oversized device packet size mms114_interrupt() reads… (CVE-2026-64270)
Description
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel mms114 driver reads touch data packets from a device into a fixed-size on-stack buffer designed to hold 80 bytes (10 events × 8 bytes each). The packet size is read from a device register as a single byte and only checked to be greater than zero, but not bounded against the buffer size. A malicious or malfunctioning device can report a packet size up to 255 bytes, causing the __mms114_read_reg() function to write up to 175 bytes beyond the buffer on the IRQ thread stack. This stack out-of-bounds write can overwrite the stack canary, saved registers, and return address, potentially leading to arbitrary code execution or kernel corruption. The fix involves rejecting packets that exceed the buffer size and dropping such reports, consistent with existing error handling.
Potential Impact
This vulnerability allows a stack buffer overflow in the Linux kernel's mms114 driver, which can corrupt kernel stack memory including the stack canary and return address. This corruption could be exploited to execute arbitrary code with kernel privileges or cause a denial of service by crashing the kernel. The vulnerability requires a malicious or malfunctioning device or attacker with the ability to tamper with the I2C bus to report an oversized packet size.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix rejects oversized packets and drops the report instead of reading past the buffer. Until an official patch is confirmed, avoid using untrusted or counterfeit devices that interact with the mms114 driver and monitor vendor advisories for updates.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-q4qw-j7hr-9445
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64270"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a65420e9c2644c7f808660f
Added to database: 07/25/2026, 23:09:02 UTC
Last enriched: 07/25/2026, 23:41:17 UTC
Last updated: 09/07/2026, 10:52:10 UTC
Views: 40
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.