All vulnerabilities
CVE-2026-93827

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

Linux LinuxOperating systems
CVSS
8.4High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.14%Chance of exploitation activity in the next 30 days, higher than 3% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in3fbc5ee776fefbc6ea34d2518f1f5f90aa2e1dadAlso 20ef4739b329bb09cff11dd2458795a50674658e, 6af3330ec5d5fb8c06c04eb520a71cf73ea5a765CVE List
Published24 Sep 2026Updated 25 Sep 2026CVE List

What fixes it

  • 3fbc5ee776fefbc6ea34d2518f1f5f90aa2e1dadLinuxCVE List
  • 20ef4739b329bb09cff11dd2458795a50674658eLinuxCVE List
  • 6af3330ec5d5fb8c06c04eb520a71cf73ea5a765LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 8

  • Linuxaffected: a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9 before 3fbc5ee776fefbc6ea34d2518f1f5f90aa2e1dadCVE List
  • Linuxaffected: a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9 before 20ef4739b329bb09cff11dd2458795a50674658eCVE List
  • Linuxaffected: a8f62f50b4e4ea92a938fca2ec1bd108d7f210e9 before 6af3330ec5d5fb8c06c04eb520a71cf73ea5a765CVE List
  • Linuxaffected: 6.9CVE List
  • Linuxunaffected: all versions before 6.9CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2CVE List

References 3