Skip to content
Heist/ feed
Unrated

virtio_console: do not free control-out buffers on remove

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: virtio_console: do not free control-out buffers on remove __send_control_msg() publishes &portdev->cpkt as the control-out virtqueue cookie. remove_vqs() walks every virtqueue and passes leftover cookies to free_buf(), which treats them as struct port_buffer and reads sgpages. If a control message is still on c_ovq when the device is unbound, free_buf() reads past the ports_device object. KASAN reported slab-out-of-bounds in free_buf(): free_buf remove_vqs virtcons_remove unbind_store The object was the ports_device allocated in virtcons_probe(). Drain c_ovq without freeing. The packet lives in portdev and is released with it.

Announced Group revision 1
Original source ↗

CVE-2026-97995

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-97995

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "b1f39c2a676698cc64c8e105e08b25111a112ec6",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "e03522a990cd2e0f1a736eaa349a9df9ab8541c3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "8f6cfc3eca79b8e108d0823756101e2f4f9d811f",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "2e40c69b9c3448b9c6609cd02013da593b2e123b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "177ee901aa2bab02e7f1f8edbb814fd5e386ed62",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "a80c33488e0bbe642ed803b13a4ac8078a70b507",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "f620c40ea6862feed84deb105568b21ec53a7830",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a7a69ec0d8e4a58be7db88d33cbfa2912807bb2b",
        "lessThan": "894f98e73983f37354214a89a3a7fd35bf9e3072",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "f92b16b815efe8207090a9b5a767618fd89542ca",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "d2bbfac82b7942afc5d8e564d7087835280df495",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a88e13d9a092fbb772d380944b44eb549ef131fe",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dd807a784fd36f4136516d5858efb6473dda422c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "47cb14192bcbba3f15b1c3561e05e084e56fdef6",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6b1c41a0f7183702abb7a104c6c7e196ad69a6b3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "9037306163a6ba5587e4b5ca511ac7be4fb7295b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3.16.60",
        "lessThan": "3.17",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "3.18.108",
        "lessThan": "3.19",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.1.52",
        "lessThan": "4.2",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.4.131",
        "lessThan": "4.5",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.9.98",
        "lessThan": "4.10",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.14.39",
        "lessThan": "4.15",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.16.7",
        "lessThan": "4.17",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "drivers/char/virtio_console.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.17"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.17",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.271",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.222",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.189",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.158",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.111",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.53",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.7",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/char/virtio_console.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-97995

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#38125 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement