PT-2026-64491 · Linux · Linux
CVE-2026-64270
·
Published
2026-07-25
·
Updated
2026-07-25
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux