CVE-2026-64270 (GCVE-0-2026-64270)

Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-07-25 08:49
VLAI
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
Impacted 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)
Create a notification for this product.
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)
Create a notification for this product.
Show details on NVD website

{
  "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"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…