Description
In the Linux kernel, the following vulnerability has been resolved:

virtio-fs: avoid double-free on failed queue setup

virtio_fs_setup_vqs() allocates fs->vqs and fs->mq_map before calling
virtio_find_vqs(). If virtio_find_vqs() fails, the error path frees both
pointers and returns an error to virtio_fs_probe().

virtio_fs_probe() then drops the last kobject reference, and
virtio_fs_ktype_release() frees fs->vqs and fs->mq_map again. This leaves
dangling pointers in struct virtio_fs and can trigger a double-free during
probe failure cleanup.

Set fs->vqs and fs->mq_map to NULL immediately after kfree() in the
virtio_fs_setup_vqs() error path so that the later kobject release sees an
uninitialized state and kfree(NULL) becomes harmless.

This can be reproduced when a broken virtio-fs device advertises more
request queues than the transport actually provides. In that case
virtio_find_vqs() fails while setting up the extra queue, and the probe
path reaches the double-free cleanup sequence.
Published: 2026-09-24
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption via double‑free in virtio‑fs
Action: Apply Patch
AI Analysis

Impact

A double‑free occurs in the Linux kernel’s virtio‑fs driver when virtio_find_vqs() fails during device initialization. The error path frees fs->vqs and fs->mq_map, and then the normal kobject release frees them again, leaving dangling pointers that can corrupt kernel memory or crash the system.

Affected Systems

Linux kernel installations that enable virtio‑fs and have not yet incorporated the commit that clears the pointers after freeing are vulnerable. It is inferred that any kernel version lacking this patch, or any system that loads the virtio‑fs module without the fix, falls into this group.

Risk and Exploitability

The CVSS score of 8.4 indicates a high‑severity flaw, and the EPSS score of < 1% indicates a very low exploitation probability. The vulnerability is not listed in CISA KEV, suggesting no known widespread exploitation. Based on the description, it is inferred that an attacker would need local or privileged control over the virtual machine configuration to manipulate the virtio‑fs device’s advertised queue count, implying local or privileged access. Remote exploitation is unlikely without such access.

Generated by OpenCVE AI on October 1, 2026 at 17:10 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the virtio‑fs double‑free fix.
  • If a patch is not immediately available, unload the virtio‑fs kernel module or prevent it from auto‑loading until the kernel is updated.
  • Reconfigure or remove any virtio‑fs devices that advertise more queues than the transport actually supports to avoid probe failures.

Generated by OpenCVE AI on October 1, 2026 at 17:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Tue, 29 Sep 2026 13:15:00 +0000


Sat, 26 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-415

Fri, 25 Sep 2026 07:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-415

Fri, 25 Sep 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: virtio-fs: avoid double-free on failed queue setup virtio_fs_setup_vqs() allocates fs->vqs and fs->mq_map before calling virtio_find_vqs(). If virtio_find_vqs() fails, the error path frees both pointers and returns an error to virtio_fs_probe(). virtio_fs_probe() then drops the last kobject reference, and virtio_fs_ktype_release() frees fs->vqs and fs->mq_map again. This leaves dangling pointers in struct virtio_fs and can trigger a double-free during probe failure cleanup. Set fs->vqs and fs->mq_map to NULL immediately after kfree() in the virtio_fs_setup_vqs() error path so that the later kobject release sees an uninitialized state and kfree(NULL) becomes harmless. This can be reproduced when a broken virtio-fs device advertises more request queues than the transport actually provides. In that case virtio_find_vqs() fails while setting up the extra queue, and the probe path reaches the double-free cleanup sequence.
Title virtio-fs: avoid double-free on failed queue setup
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-09-25T12:43:36.887Z

Reserved: 2026-09-18T17:59:28.792Z

Link: CVE-2026-93827

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:16.410

Modified: 2026-09-25T13:17:23.513

Link: CVE-2026-93827

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-93827 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T17:15:10Z

Weaknesses
  • CWE-1341

    Multiple Releases of Same Resource or Handle

  • CWE-416

    Use After Free