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.
Published: 2026-10-06
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel memory exhaustion
Action: Patch
AI Analysis

Impact

The memstick ms_block driver in the Linux kernel allocates an ordered workqueue for every inserted card during initialization. Because the driver never frees this workqueue upon card removal, each insertion/removal cycle leaks both the workqueue and its kworker thread. Over repeated cycles, available kernel memory is depleted, which can lead to the kernel failing to handle further allocation requests, resulting in system instability or a crash—a denial-of-service condition.

Affected Systems

All Linux kernel configurations that include the memstick ms_block driver, which is part of the mainstream distribution kernel. Any system that uses the stock kernel without disabling this driver is affected.

Risk and Exploitability

The CVSS score of 5.5 indicates medium severity, while the EPSS score of less than 1% shows a very low likelihood of exploitation under normal circumstances. The vulnerability is not listed in CISA's KEV catalog. The only way to trigger the memory leak is to repeatedly insert and remove supported memory cards or USB devices that the driver handles. No network interface is exposed, so the attack vector requires local or privileged access; it is inferred that an attacker with such access could trigger the failure by automating card insertion events.

Generated by OpenCVE AI on October 9, 2026 at 17:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch to msb_remove, which destroys the workqueue after draining it.
  • If an upgrade is not possible, disable the memstick ms_block driver or configure the system to ignore card insertion/removal events to prevent the leak.
  • Continuously monitor kernel memory usage and system logs for signs of accumulating workqueues; schedule a reboot or other recovery action if memory resource exhaustion is detected.

Generated by OpenCVE AI on October 9, 2026 at 17:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Fri, 09 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400

Fri, 09 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 07 Oct 2026 04:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400

Tue, 06 Oct 2026 21:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772

Tue, 06 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
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.
Title memstick: ms_block: destroy io_queue workqueue on removal
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:15:58.990Z

Reserved: 2026-09-25T10:25:14.328Z

Link: CVE-2026-98227

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:09.963

Modified: 2026-10-19T10:18:23.430

Link: CVE-2026-98227

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98227 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T17:45:11Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime