{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-64277",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-64277",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-07-25T08:49:21.936Z",
    "updatedAt": "2026-10-19T20:28:17.252Z",
    "importedAt": "2026-10-24T01:58:25.636Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: synaptics-rmi4 - bound the F3A keymap to the GPIO count\n\nrmi_f3a_initialize() takes the GPIO count from the device query register\n(f3a->gpio_count = buf & RMI_F3A_GPIO_COUNT, range 0..127).\nrmi_f3a_map_gpios() then allocates gpio_key_map with\nmin(gpio_count, TRACKSTICK_RANGE_END) == at most 6 entries, but\nrmi_f3a_attention() iterates the full gpio_count and dereferences\ngpio_key_map[i], and input->keycodemax is set to the full gpio_count\nwhile input->keycode points at the 6-entry allocation.\n\nA device that reports gpio_count > 6 therefore causes an out-of-bounds\nread of gpio_key_map[] on every attention interrupt, and out-of-bounds\naccesses through the input core's default keymap ioctls: EVIOCGKEYCODE\nreads past the buffer (leaking adjacent slab memory to user space) and\nEVIOCSKEYCODE writes a caller-controlled value past it, for any process\nable to open the evdev node, since input_default_getkeycode() and\ninput_default_setkeycode() only bound the index against keycodemax.\n\nSize the keymap for the full gpio_count. The mapping loop is unchanged:\nit still assigns only the first min(gpio_count, TRACKSTICK_RANGE_END)\nentries; the remaining slots stay KEY_RESERVED (devm_kcalloc zero-fills)\nand are skipped when reporting.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "502ad7caaa1a445b734c827fa256e5311df67e3d"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "3480e24bc4e178aaa009edb25b6ee12df199e210"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "35ed74d32d8260bdfb14a94caf402bf0866bdeec"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "ba57f430328534501962d60d651e385ffd7af9ca"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "850117b637bcb1dcc14be0cf09ac819a8707b42c"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8db211aed83733073b0814adaeeab61d4521474e"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42"
            },
            {
              "version": "9e4c596bfd004f447a652205163234dfd4aafa69",
              "status": "affected",
              "versionType": "git",
              "lessThan": "57c10915f2c16c90e0d46ad00876bf39ece40fc2"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "5.10",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "5.10"
            },
            {
              "version": "5.10.261",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.212",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.178",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.145",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.96",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.39",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "7.1.4",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "version": "7.2",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}