{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-74613",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-74613"
  ],
  "published": "2026-08-22T15:32:12Z",
  "summary": "vsock/virtio: avoid refilling the RX queue after teardown",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nvsock/virtio: avoid refilling the RX queue after teardown\n\nCommit b917507e5ad9 (\"vsock/virtio: stop workers during the .remove()\")\nmade the RX worker jump to its common exit when rx_run is clear.  That\nexit still refills the RX queue when the buffer count is low, so work\nqueued across virtio_vsock_vqs_del() can add buffers after the virtqueues\nhave been deleted.\n\nBUG: KASAN: slab-use-after-free in virtqueue_add_sgs\nRead of size 4 by task kworker/0:1\nWorkqueue: virtio_vsock virtio_transport_rx_work\nCall Trace:\n virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796)\n virtio_vsock_rx_fill (net/vmw_vsock/virtio_transport.c:332)\n virtio_transport_rx_work (net/vmw_vsock/virtio_transport.c:701)\n process_one_work (kernel/workqueue.c:3314)\n worker_thread (kernel/workqueue.c:3478)\n kthread (kernel/kthread.c:436)\n ret_from_fork (arch/x86/kernel/process.c:158)\n ret_from_fork_asm (arch/x86/entry/entry_64.S:245)\n...\nFreed by task 141:\n kfree (mm/slub.c:6566)\n vp_del_vq (drivers/virtio/virtio_pci_common.c:259)\n vp_del_vqs (drivers/virtio/virtio_pci_common.c:285)\n virtio_vsock_freeze (net/vmw_vsock/virtio_transport.c:912)\n virtio_device_freeze (drivers/virtio/virtio.c:658)\n virtio_pci_freeze (drivers/virtio/virtio_pci_common.c:601)\n pci_pm_freeze (drivers/pci/pci-driver.c:1098)\n device_suspend (drivers/base/power/main.c:1968)\nKernel panic - not syncing: KASAN: panic_on_warn set ...\n\nJump to a no-refill exit when rx_run is clear, leaving the normal exit\nto replenish a running queue.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "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.183",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-74613"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a7658508f5fe8f1077a65e8cb9535d3426f37a2f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/1aa21e7c8702a7c37cd7d3cace1a652cfa5e8171"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4d37e3525cc346a1421c1bdeaad5848e249fc60c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/9d80a04129a6c27a690cb69de3fe3f50be5aa8b9"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a309b74e3fc052352ab778500449cb9c3853c363"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/38c7763fdc533edb34dc8f4489c260e8ba2ccae9"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e82a5faea2e3886dfb2a65ce092a132e7e896915"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a31e0ad444698d8aa7534a0f89fda543730f97a5"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-25T05:42:41Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - The bug is in the virtio-vsock guest driver reached via AF_VSOCK sockets and virtio virtqueue callbacks, not via remote network packets; kernel guidance classifies vsock as Local attack vector.\nAC:L - An attacker can reliably queue virtio_transport_rx_work by maintaining active vsock traffic while virtqueues are torn down; this slab UAF race is attacker-influenced and does not depend on uncontrollable memory layout.\nPR:L - Triggering the vulnerable RX refill path requires only normal unprivileged AF_VSOCK use to drive virtio RX work; teardown can coincide with host-driven suspend, migration, or device removal without guest root.\nUI:N - Exploitation requires no victim interaction beyond the attacker opening and using vsock sockets to generate virtio RX work during device teardown.\nS:U - The use-after-free corrupts guest-kernel virtio state and can panic the guest kernel; it does not directly cross a VM/host security boundary or enable guest-to-host escape.\nC:H - KASAN reports a slab use-after-free read in virtqueue_add_sgs on freed virtqueue metadata; UAF of kernel heap objects can be leveraged for arbitrary kernel memory disclosure.\nI:H - Use-after-free of virtqueue structures during virtio_vsock_rx_fill enables heap corruption and can be developed into arbitrary kernel writes or control-flow hijack, not merely a benign read.\nA:H - The reported reproducer triggers KASAN slab-use-after-free and kernel panic during virtio_vsock freeze/teardown; UAF in kernel workqueue context causes high availability impact."
    }
  }
}
