{"id":"CVE-2026-90095","revision":"87fc9956eef04065996a6cafd0516221","records":[{"revision":"87fc9956eef04065996a6cafd0516221","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-90095","aliases":[],"title":"fuse: Fix the condition to enable over-io-uring","description":"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->bg_lock and\nqueue->lock).\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(&fch->initialized) 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.","state":0,"publishedAt":"2026-09-17T16:06:08.197+00:00","modifiedAt":"2026-10-19T08:57:53.596+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/fuse/dev_uring.c\",\n                        \"fs/fuse/inode.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3393ff964e0fa5def66570c54a4612bf9df06b76\",\n                            \"lessThan\": \"1ca1df82d9248fc0b5ff17d45607484f18e5d60b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3393ff964e0fa5def66570c54a4612bf9df06b76\",\n                            \"lessThan\": \"8f9a725d89711ad027f6b7183586ef91528f106d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3393ff964e0fa5def66570c54a4612bf9df06b76\",\n                            \"lessThan\": \"1f59015e958174e89be58cc8db16d70a60d17255\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/fuse/dev_uring.c\",\n                        \"fs/fuse/inode.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.14\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.14\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.6\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/1ca1df82d9248fc0b5ff17d45607484f18e5d60b","https://git.kernel.org/stable/c/8f9a725d89711ad027f6b7183586ef91528f106d","https://git.kernel.org/stable/c/1f59015e958174e89be58cc8db16d70a60d17255"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-90095","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-90095","identifiers":["CVE-2026-90095"]},"retained":false,"historicalAffected":[]}],"coverage":[]}