Skip to content
Heist/ feed
Back to feed
HighFix available

vfio/pci: Fix double free in dma-buf feature

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Fix double free in dma-buf feature The error path through vfio_pci_core_feature_dma_buf() ignores its own advice to only use dma_buf_put() after dma_buf_export(), instead falling through the entire unwind chain. In the unlikely event that we encounter file descriptor exhaustion, this can result in an unbalanced refcount on the vfio device and double free of allocated objects. Avoid this by moving the "put" directly into the error path and return the errno rather than entering the unwind chain.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.19.11
CVEs
CVE-2026-31468
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 23:01 UTC · Revision 1

Source evidence

vfio/pci: Fix double free in dma-buf feature

core-osv · Original source

Published 22 Apr 2026, 13:53 UTC

In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Fix double free in dma-buf feature The error path through vfio_pci_core_feature_dma_buf() ignores its own advice to only use dma_buf_put() after dma_buf_export(), instead falling through the entire unwind chain. In the unlikely event that we encounter file descriptor exhaustion, this can result in an unbalanced refcount on the vfio device and double free of allocated objects. Avoid this by moving the "put" directly into the error path and return the errno rather than entering the unwind chain.

osv:CVE-2026-31468

Kernel

Fixed versions: 6.19.11

Complete source record
{
  "id": "dc41d1b7555eab70f08290c4479b2f85d1c32c717c4e377f335d70cffa3c55f4",
  "url": "https://osv.dev/vulnerability/CVE-2026-31468",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "vfio/pci: Fix double free in dma-buf feature",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Fix double free in dma-buf feature The error path through vfio_pci_core_feature_dma_buf() ignores its own advice to only use dma_buf_put() after dma_buf_export(), instead falling through the entire unwind chain. In the unlikely event that we encounter file descriptor exhaustion, this can result in an unbalanced refcount on the vfio device and double free of allocated objects. Avoid this by moving the \"put\" directly into the error path and return the errno rather than entering the unwind chain.",
    "evidence": "osv:CVE-2026-31468",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.19.11",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-31468",
      "aliases": [
        "CVE-2026-31468"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5d74781ebc86c5fa9e9d6934024c505412de9b52"
                },
                {
                  "fixed": "83ad334afc9a645cef1062f5346526b1e36d6516"
                },
                {
                  "fixed": "e98137f0a874ab36d0946de4707aa48cb7137d1c"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31468.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.11"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31468.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.077177404Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/83ad334afc9a645cef1062f5346526b1e36d6516",
        "https://git.kernel.org/stable/c/e98137f0a874ab36d0946de4707aa48cb7137d1c",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31468.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-31468",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31468.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-31468",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 499211,
  "published_at": "2026-04-22T13:53:57.583+00:00"
}