← Back to CVE Explorer

CVE-2026-98227

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: memstick: ms_block: destroy io_queue workqueue on removal msb_init_disk() creates the per-card ordered workqueue msb->io_queue with alloc_ordered_workqueue(). It is torn down with destroy_workqueue() only on the init error path; msb_remove() never destroys it. msb_stop() merely flushes the queue, and neither msb_data_clear() nor put_disk() free it. As a result every card insert/remove cycle leaks the workqueue and its kworker, exhausting kernel memory over repeated cycles. Destroy the workqueue in msb_remove() after the disk has been removed and the queue drained.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-06 09:18:09.963000
Last modified
2026-10-19 10:18:23.430000
View original CVE JSON
{
  "id": "CVE-2026-98227",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-06T09:18:09.963",
  "lastModified": "2026-10-19T10:18:23.430",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmemstick: ms_block: destroy io_queue workqueue on removal\n\nmsb_init_disk() creates the per-card ordered workqueue msb->io_queue with\nalloc_ordered_workqueue(). It is torn down with destroy_workqueue() only\non the init error path; msb_remove() never destroys it. msb_stop() merely\nflushes the queue, and neither msb_data_clear() nor put_disk() free it. As\na result every card insert/remove cycle leaks the workqueue and its\nkworker, exhausting kernel memory over repeated cycles.\n\nDestroy the workqueue in msb_remove() after the disk has been removed and\nthe queue drained."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/memstick/core/ms_block.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "0ff795163f37109a134b5a421558530f8d091544",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "19c3da6621a253f1f8b937ed91bc22330a930d9c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "9a2e7cdc0880e735aff0968ee402f2c92a992b9b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "6611f78ec3fd4b33a00bfda20725b254a22979f6",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "f222bb8c30cf5699c560b29179ff2bddcac1f950",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0ab30494bc4f3bc1ea4659b7c5d97c5218554a63",
              "lessThan": "90af7fde083e1b22c349c3a8b1626728e44e474c",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/memstick/core/ms_block.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.12",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.12",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.189",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.158",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.112",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.54",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.8",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0ff795163f37109a134b5a421558530f8d091544",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/19c3da6621a253f1f8b937ed91bc22330a930d9c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6611f78ec3fd4b33a00bfda20725b254a22979f6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/90af7fde083e1b22c349c3a8b1626728e44e474c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9a2e7cdc0880e735aff0968ee402f2c92a992b9b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f222bb8c30cf5699c560b29179ff2bddcac1f950",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}