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: n/a
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, but the EPSS score is not available and the vulnerability is not listed in CISA KEV, suggesting limited exploitation records. Based on the description, it is inferred that an attacker would need the ability to manipulate the virtio‑fs device’s advertised queue count, implying local or privileged control over the virtual machine configuration. Remote exploitation is unlikely without such access.

Generated by OpenCVE AI on September 25, 2026 at 07:08 UTC.

Remediation

No vendor fix or workaround currently provided.

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 September 25, 2026 at 07:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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-25T05:10:22.640Z

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-25T05:17:04.170

Link: CVE-2026-93827

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T07:15:17Z

Weaknesses