{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "f2d06d4e129e2508e356136f99bb20a332ff1a00"
            },
            {
              "fixed": "e719232f4552e29de8027a83918ea94434be87af"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "b889a7d68d7e76b8795b754a75c91a2d561d5e8c"
            },
            {
              "fixed": "e247a0e01d15ed420f77ec5e2335721bf430a5b3"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "ea8cc56db659cf0ae57073e32a4735ead7bd7ee3"
            },
            {
              "fixed": "ba88461f7653636c48321ca993006a74724c2f41"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "b754e831a94f82f2593af806741392903f359168"
            },
            {
              "fixed": "e88354b381e2006de63d6b052ed7005c9a47d00e"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "57860a80f03f9dc69a34a5c37b0941ad032a0a8c"
            },
            {
              "fixed": "af75b486f7e883e3422ece23c8d727e6815144a0"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "a0810c3d6dd2d29a9b92604d682eacd2902ce947"
            },
            {
              "fixed": "d21e8a2af4869b5890b34e081d5aeadc93e9cd5c"
            },
            {
              "fixed": "3dc20d1981d6a67d8184498a5da272942dde1e65"
            },
            {
              "fixed": "51f6532790b74ffdd6970bc848358a2838c1c185"
            },
            {
              "fixed": "b9c826916fdce6419b94eb0cd8810fdac18c2386"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "74357d0b5cd3ef544752bc9f21cbeee4902fae6c"
            },
            {
              "last_affected": "273eec23467dfbfbd0e4c10302579ba441fb1e13"
            },
            {
              "last_affected": "0df7f4b5cc10f5adf98be0845372e9eef7bb5b09"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.10.231"
            },
            {
              "fixed": "5.10.258"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.15.174"
            },
            {
              "fixed": "5.15.209"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.1.120"
            },
            {
              "fixed": "6.1.175"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.6.64"
            },
            {
              "fixed": "6.6.136"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.12.2"
            },
            {
              "fixed": "6.12.83"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "4.19.325"
            },
            {
              "fixed": "4.20"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.4.287"
            },
            {
              "fixed": "5.5"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "6.11.11"
            },
            {
              "fixed": "6.12"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "5.10.258"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.11.0"
            },
            {
              "fixed": "5.15.209"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.1.175"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.6.136"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.12.83"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.24"
            },
            {
              "fixed": "6.19.14"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.0.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31581.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: 6fire: fix use-after-free on disconnect\n\nIn usb6fire_chip_abort(), the chip struct is allocated as the card's\nprivate data (via snd_card_new with sizeof(struct sfire_chip)).  When\nsnd_card_free_when_closed() is called and no file handles are open, the\ncard and embedded chip are freed synchronously.  The subsequent\nchip-\u003ecard = NULL write then hits freed slab memory.\n\nCall trace:\n  usb6fire_chip_abort sound/usb/6fire/chip.c:59 [inline]\n  usb6fire_chip_disconnect+0x348/0x358 sound/usb/6fire/chip.c:182\n  usb_unbind_interface+0x1a8/0x88c drivers/usb/core/driver.c:458\n  ...\n  hub_event+0x1a04/0x4518 drivers/usb/core/hub.c:5953\n\nFix by moving the card lifecycle out of usb6fire_chip_abort() and into\nusb6fire_chip_disconnect().  The card pointer is saved in a local\nbefore any teardown, snd_card_disconnect() is called first to prevent\nnew opens, URBs are aborted while chip is still valid, and\nsnd_card_free_when_closed() is called last so chip is never accessed\nafter the card may be freed.",
  "id": "CVE-2026-31581",
  "modified": "2026-07-08T05:37:39.014870959Z",
  "published": "2026-04-24T14:42:11.557Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/3dc20d1981d6a67d8184498a5da272942dde1e65"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/51f6532790b74ffdd6970bc848358a2838c1c185"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/af75b486f7e883e3422ece23c8d727e6815144a0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b9c826916fdce6419b94eb0cd8810fdac18c2386"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ba88461f7653636c48321ca993006a74724c2f41"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d21e8a2af4869b5890b34e081d5aeadc93e9cd5c"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e247a0e01d15ed420f77ec5e2335721bf430a5b3"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e719232f4552e29de8027a83918ea94434be87af"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e88354b381e2006de63d6b052ed7005c9a47d00e"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31581.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-31581"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.7.5",
  "summary": "ALSA: 6fire: fix use-after-free on disconnect"
}