{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "3393ff964e0fa5def66570c54a4612bf9df06b76"
            },
            {
              "fixed": "8f9a725d89711ad027f6b7183586ef91528f106d"
            },
            {
              "fixed": "1f59015e958174e89be58cc8db16d70a60d17255"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.14.0"
            },
            {
              "fixed": "7.2.6"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90095.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: Fix the condition to enable over-io-uring\n\nThe existing condition in fuse_uring_cmd() is there only to avoid\ndisabling io-uring for connections that already run with it, missing\nwas a condition to refuse any IORING_OP_URING_CMD if the\nconnection/channel didn't get enabled because of missing FUSE_INIT\nreply flag FUSE_OVER_IO_URING. Without the reply flag the barrier in\nfuse_uring_ready() doesn't work and IO could already be going on and\ncause deadlock states (at a minimum one between fch-\u003ebg_lock and\nqueue-\u003elock).\n\nThe change itself is trivial, but brings behavior change,\nFUSE_OVER_IO_URING has to be set in the FUSE_INIT_REPLY by fuse servers\nto accept any IORING_OP_URING_CMD. Libfuse does that and the only\nnon-libfuse implementation I found (fractal-fuse) also does it.\nQemu patches for fuse-io-uring are not merged yet, as far as I know.\n\nMoved up is the smp_load_acquire(\u0026fch-\u003einitialized) check, as a\nfuse-server implementation might try to setup io-uring before FUSE_INIT\nis processed and might have gotten -EOPNOTSUPP instead of -EAGAIN.\n\nAlso fixed is a stale comment that explains the handling of the\nFUSE_OVER_IO_URING flag in early RFC versions.\n\nIf there should be a report from any library or application we\nprobably need to revert this commit.",
  "id": "CVE-2026-90095",
  "modified": "2026-09-18T03:30:38.505192520Z",
  "published": "2026-09-17T16:06:08.197Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/1f59015e958174e89be58cc8db16d70a60d17255"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/8f9a725d89711ad027f6b7183586ef91528f106d"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90095.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-90095"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "fuse: Fix the condition to enable over-io-uring"
}