CVE-2026-90095
In the Linux kernel, the following vulnerability has been resolved:
fuse: Fix the condition to enable over-io-uring
The existing condition in fuse_uring_cmd() is there only to avoid disabling io-uring for connections that already run with it, missing was a condition to refuse any IORING_OP_URING_CMD if the connection/channel didn't get enabled because of missing FUSE_INIT reply flag FUSE_OVER_IO_URING. Without the reply flag the barrier in fuse_uring_ready() doesn't work and IO could already be going on and cause deadlock states (at a minimum one between fch->bg_lock and queue->lock).
The change itself is trivial, but brings behavior change, FUSE_OVER_IO_URING has to be set in the FUSE_INIT_REPLY by fuse servers to accept any IORING_OP_URING_CMD.
Leer descripción completaMostrar menos
Libfuse does that and the only non-libfuse implementation I found (fractal-fuse) also does it. Qemu patches for fuse-io-uring are not merged yet, as far as I know.
Moved up is the smp_load_acquire(&fch->initialized) check, as a fuse-server implementation might try to setup io-uring before FUSE_INIT is processed and might have gotten -EOPNOTSUPP instead of -EAGAIN.
Also fixed is a stale comment that explains the handling of the FUSE_OVER_IO_URING flag in early RFC versions.
If there should be a report from any library or application we probably need to revert this commit.
CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.20%
- Percentil entre todas las CVEs puntuadas: 9
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-90095",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3393ff964e0fa5def66570c54a4612bf9df06b76",
"lessThan": "8f9a725d89711ad027f6b7183586ef91528f106d",
"versionType": "git"
},
{
"status": "affected",
"version": "3393ff964e0fa5def66570c54a4612bf9df06b76",
"lessThan": "1f59015e958174e89be58cc8db16d70a60d17255",
"versionType": "git"
}
],
"programFiles": [
"fs/fuse/dev_uring.c",
"fs/fuse/inode.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.14"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.14",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "7.2.6",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/fuse/dev_uring.c",
"fs/fuse/inode.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-09-17T17:17:01.123",
"references": [
{
"url": "https://git.kernel.org/stable/c/1f59015e958174e89be58cc8db16d70a60d17255",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8f9a725d89711ad027f6b7183586ef91528f106d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"lastModified": "2026-09-17T17:17:01.123",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}