← Back to CVE Explorer

CVE-2026-64276

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count rmi_f30_map_gpios() allocates gpioled_key_map with min(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f30_attention() iterates the full f30->gpioled_count (device query register, range 0..31) and dereferences gpioled_key_map[i], and input->keycodemax is set to the full gpioled_count while input->keycode points at the 6-entry allocation. A device that reports gpioled_count > 6 with GPIO support enabled therefore causes an out-of-bounds read on the attention interrupt and out-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls, which bound the index only against keycodemax. This is the same defect as the F3A handler, which was copied from F30. Size the keymap for the full gpioled_count; the mapping loop still assigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries.

Severity
HIGH
CVSS score
7.8 (v3.1)
Vulnerability status
Modified
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-07-25 10:17:08.060000
Last modified
2026-10-24 13:10:00.147000
View original CVE JSON
{
  "id": "CVE-2026-64276",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-07-25T10:17:08.060",
  "lastModified": "2026-10-24T13:10:00.147",
  "vulnStatus": "Modified",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count\n\nrmi_f30_map_gpios() allocates gpioled_key_map with\nmin(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but\nrmi_f30_attention() iterates the full f30->gpioled_count (device query\nregister, range 0..31) and dereferences gpioled_key_map[i], and\ninput->keycodemax is set to the full gpioled_count while input->keycode\npoints at the 6-entry allocation.\n\nA device that reports gpioled_count > 6 with GPIO support enabled\ntherefore causes an out-of-bounds read on the attention interrupt and\nout-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls,\nwhich bound the index only against keycodemax. This is the same defect\nas the F3A handler, which was copied from F30.\n\nSize the keymap for the full gpioled_count; the mapping loop still\nassigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nEntrada: synaptics-rmi4 - se limitó el mapa de teclas F30 al recuento de GPIO/LED\n\nrmi_f30_map_gpios() asigna gpioled_key_map con min(gpioled_count, TRACKSTICK_RANGE_END) == como máximo 6 entradas, pero rmi_f30_attention() itera el f30  ->  gpioled_count completo (registro de consulta del dispositivo, rango 0..31) y desreferencia gpioled_key_map[i], y input  ->  keycodemax se establece en el gpioled_count completo mientras que input  ->  keycode apunta a la asignación de 6 entradas.\n\nUn dispositivo que informa gpioled_count > 6 con soporte GPIO habilitado, por lo tanto, causa una lectura fuera de límites en la interrupción de atención y lectura/escritura fuera de límites a través de los ioctls EVIOCGKEYCODE/EVIOCSKEYCODE, que limitan el índice solo contra keycodemax. Este es el mismo defecto que el gestor F3A, que fue copiado de F30.\n\nDimensionar el mapa de teclas para el gpioled_count completo; el bucle de mapeo aún asigna solo las primeras min(gpioled_count, TRACKSTICK_RANGE_END) entradas."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/input/rmi4/rmi_f30.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "8c6d18d61bb6fe0e6edf848413391c590552e8a9",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "d162a1ead7de404d8b41a093c83ed0db6487cded",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "f0be9eba946e9200b43265e0a748d38bd0a56954",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "26c895928d7118436a24f564587cb4aefc40cdd8",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "4e3689c26854356f41fbaa1eafa382e58ac79e00",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "e849c6f51e6877104c765da084e001ec37c8e119",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "bfe622efecd4ff0a792d0ecd1a8dce535a902f50",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3e64fcbdbd10e46dede502d507dbcc104837cd59",
              "lessThan": "d577e46785d45484b2ab7e7309c49b18764bf56c",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/input/rmi4/rmi_f30.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.14",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.14",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.261",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.212",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.178",
              "lessThanOrEqual": "6.1.*",
              "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",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-16T15:38:09.946802Z",
          "id": "CVE-2026-64276",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-787"
        }
      ]
    },
    {
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-787"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.14.1",
              "versionEndExcluding": "5.10.261",
              "matchCriteriaId": "8EFB0D87-39D4-43FF-BE77-BEE0C5BE4EEB"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "5.11",
              "versionEndExcluding": "5.15.212",
              "matchCriteriaId": "8E99FB01-CD93-41AF-A653-3F450652B9A6"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "5.16",
              "versionEndExcluding": "6.1.178",
              "matchCriteriaId": "092233C7-F4E0-40C8-BD4D-A28FE50DFE20"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.2",
              "versionEndExcluding": "6.6.145",
              "matchCriteriaId": "7046B092-F810-4440-ACE6-60218518EECE"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.7",
              "versionEndExcluding": "6.12.96",
              "matchCriteriaId": "38A8100E-2B1A-462F-AEE9-8901B870FEF2"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.13",
              "versionEndExcluding": "6.18.39",
              "matchCriteriaId": "914AE4BC-3D59-4C5A-9DB5-9CE327B429F7"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.19",
              "versionEndExcluding": "7.1.4",
              "matchCriteriaId": "6228DDD6-4557-4AA3-9F43-AB995D471E42"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:-:*:*:*:*:*:*",
              "matchCriteriaId": "7875AA30-1F6F-470C-A52D-ECBD6663CEC5"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc7:*:*:*:*:*:*",
              "matchCriteriaId": "C834B5F2-810F-4291-8E1F-1B32635E08F3"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc8:*:*:*:*:*:*",
              "matchCriteriaId": "BB4A96BC-72CC-4EF1-916C-9ED7177C196E"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/26c895928d7118436a24f564587cb4aefc40cdd8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/4e3689c26854356f41fbaa1eafa382e58ac79e00",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/8c6d18d61bb6fe0e6edf848413391c590552e8a9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/bfe622efecd4ff0a792d0ecd1a8dce535a902f50",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/d162a1ead7de404d8b41a093c83ed0db6487cded",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/d577e46785d45484b2ab7e7309c49b18764bf56c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/e849c6f51e6877104c765da084e001ec37c8e119",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/f0be9eba946e9200b43265e0a748d38bd0a56954",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    }
  ]
}