{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-97986",
  "modified": "2026-10-07T17:22:01Z",
  "upstream": [
    "CVE-2026-97986"
  ],
  "published": "2026-09-25T10:24:31Z",
  "summary": "virtio_input: stop callbacks before unregistering input device",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nvirtio_input: stop callbacks before unregistering input device\n\nvirtinput_remove() unregisters the input device before resetting the\nvirtio device. virtinput_recv_events() drops vi->lock around input_event(),\nso clearing vi->ready does not stop a callback that passed the entry check.\nIt can still use vi->idev, requeue buffers and kick the queue.\n\nReset first, as virtinput_freeze() already does. With the preceding core\nchange, reset waits for callbacks before input_unregister_device() can\nfree vi->idev. Recheck vi->ready after taking the lock again: keep draining\ncompleted events so an input packet is not truncated, but stop requeueing\nbuffers and kicking the queue.\n\nWith evdev attached, input_unregister_handle() currently waits for an RCU\ngrace period, which also waits out IRQ callbacks. This masks the lifetime\nbug on PCI and MMIO, but does not protect sleepable callbacks on other\ntransports.",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.189",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-97986"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3ae729b1f8ab81d1244061872db2fb0ebb110d2a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/81073bca2062c916c818f2744fbab545a5c4982b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8226aeee9b9a94cd699fbb51cb230feff46cfaf2"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a3ba86a270dd87460759214046dc7cbd409ac711"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/5378f7945856a5ed88e6f9850bc7a68f54090135"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d7808b37da0a619cf1fa541c2384e783fecc2480"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-10-03T11:04:09Z"
  }
}
