CVE-2026-80768 (GCVE-0-2026-80768)
Vulnerability from cvelistv5
Published
2026-09-04 15:12
Modified
2026-09-04 15:12
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: HID: ft260: fix stack-use-after-return write in I2C read race ft260_i2c_read() points dev->read_buf at a caller-supplied buffer (often an on-stack variable), arms a completion and waits up to five seconds for the device to return the data. The HID input callback ft260_raw_event() runs in the input/IRQ path, independent of the dev->lock mutex held by the read path, and copies the device-supplied payload into dev->read_buf after a plain NULL check. These two paths share read_buf, read_idx and read_len with no serialization. If the device delays its response until the read times out, ft260_i2c_read() resets the controller, clears read_buf and returns, unwinding the stack frame the buffer lived in. A response that arrives at that moment lets ft260_raw_event() pass the NULL check and then memcpy() the device-controlled payload into the now-freed stack location, a bounded but attacker-influenced stack-use-after-return write triggerable by malicious or malfunctioning hardware. Add a dedicated spinlock that serializes every access to read_buf, read_idx and read_len. ft260_raw_event() now holds it across the NULL check, the memcpy and the index update, while the read path takes it when arming and when clearing the buffer, so the teardown can no longer slip between the check and the copy.
Impacted products
Vendor Product Version
Linux Linux Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Version: 6a82582d9fa438045191074856f47165334f2777
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/hid/hid-ft260.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "2b907001e8a83cdb71e899fd3d77ab51e2c03f10",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "90e9298f2e4336a0e1ca7eeb173403df78056164",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "460514d46e8892189fc933a1b4433811cfa5c309",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "5aa5a1b7cc4b4bec5497ad9ef113fdfe37b232f3",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "a8e1f970f9040294cfd9100c681c32af6c2aeec0",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "d7ffbdc076675c84128d5b904e4d5167fe9f3a7f",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "77832d8f1c81d9f84b6b54807fb278586001d754",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            },
            {
              "lessThan": "bf3e39df3a397fd82967a31d17c4e02c7feab221",
              "status": "affected",
              "version": "6a82582d9fa438045191074856f47165334f2777",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/hid/hid-ft260.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.13"
            },
            {
              "lessThan": "5.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.220",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.187",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.156",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.108",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.49",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.1",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.220",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.187",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.156",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.108",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.49",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.11",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.1",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: ft260: fix stack-use-after-return write in I2C read race\n\nft260_i2c_read() points dev-\u003eread_buf at a caller-supplied buffer\n(often an on-stack variable), arms a completion and waits up to five\nseconds for the device to return the data. The HID input callback\nft260_raw_event() runs in the input/IRQ path, independent of the\ndev-\u003elock mutex held by the read path, and copies the device-supplied\npayload into dev-\u003eread_buf after a plain NULL check.\n\nThese two paths share read_buf, read_idx and read_len with no\nserialization. If the device delays its response until the read\ntimes out, ft260_i2c_read() resets the controller, clears read_buf\nand returns, unwinding the stack frame the buffer lived in. A\nresponse that arrives at that moment lets ft260_raw_event() pass the\nNULL check and then memcpy() the device-controlled payload into the\nnow-freed stack location, a bounded but attacker-influenced\nstack-use-after-return write triggerable by malicious or\nmalfunctioning hardware.\n\nAdd a dedicated spinlock that serializes every access to read_buf,\nread_idx and read_len. ft260_raw_event() now holds it across the\nNULL check, the memcpy and the index update, while the read path\ntakes it when arming and when clearing the buffer, so the teardown\ncan no longer slip between the check and the copy."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-04T15:12:40.374Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/2b907001e8a83cdb71e899fd3d77ab51e2c03f10"
        },
        {
          "url": "https://git.kernel.org/stable/c/90e9298f2e4336a0e1ca7eeb173403df78056164"
        },
        {
          "url": "https://git.kernel.org/stable/c/460514d46e8892189fc933a1b4433811cfa5c309"
        },
        {
          "url": "https://git.kernel.org/stable/c/5aa5a1b7cc4b4bec5497ad9ef113fdfe37b232f3"
        },
        {
          "url": "https://git.kernel.org/stable/c/a8e1f970f9040294cfd9100c681c32af6c2aeec0"
        },
        {
          "url": "https://git.kernel.org/stable/c/d7ffbdc076675c84128d5b904e4d5167fe9f3a7f"
        },
        {
          "url": "https://git.kernel.org/stable/c/77832d8f1c81d9f84b6b54807fb278586001d754"
        },
        {
          "url": "https://git.kernel.org/stable/c/bf3e39df3a397fd82967a31d17c4e02c7feab221"
        }
      ],
      "title": "HID: ft260: fix stack-use-after-return write in I2C read race",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80768",
    "datePublished": "2026-09-04T15:12:40.374Z",
    "dateReserved": "2026-08-26T14:34:25.791Z",
    "dateUpdated": "2026-09-04T15:12:40.374Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…