CVE-2026-89681
In the Linux kernel, the following vulnerability has been resolved:
nfsd: fix layout fence worker double-reference race
The workqueue core clears WORK_STRUCT_PENDING before the callback is invoked, so delayed_work_pending() in lm_breaker_timedout() can return false while the fence worker is already running. This lets the breaker take a duplicate sc_count reference and schedule a new worker that coalesces with the in-progress one. The extra reference is never put, leaking the layout stateid.
Replace the racy delayed_work_pending() check with an ls_fence_inflight boolean set atomically with refcount_inc_not_zero() under ls_lock, and cleared under ls_lock before the final nfs4_put_stid() on the dispose path; the retry path intentionally retains it.
Leer descripción completaMostrar menos
Remove the self-rearm mod_delayed_work() at the top of the worker.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 9.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.55%
- Percentil entre todas las CVEs puntuadas: 44
- 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).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access75 % - Impacto principal
T1499.004Application or System Exploitationimpact65 %
Vulnerabilidad crítica en kernel Linux (AV:N, PR:N, UI:N) explotable remotamente sin autenticación. El fallo causa fuga de memoria (race condition en refcount) que permite DoS por agotamiento de recursos del sistema de archivos distribuido (nfsd).
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
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-89681",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Secondary",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.8,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 3.9
}
]
},
"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": "f52792f484ba2316853736856dde19b7e7458861",
"lessThan": "a278d361e0e8f242211891193d56483a7a9f47a8",
"versionType": "git"
},
{
"status": "affected",
"version": "f52792f484ba2316853736856dde19b7e7458861",
"lessThan": "8580571227451384399b3fa53fcde19848c48e5a",
"versionType": "git"
}
],
"programFiles": [
"fs/nfsd/nfs4layouts.c",
"fs/nfsd/state.h"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "7.1"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "7.1",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "7.2.4",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/nfsd/nfs4layouts.c",
"fs/nfsd/state.h"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-09-11T20:19:54.917",
"references": [
{
"url": "https://git.kernel.org/stable/c/8580571227451384399b3fa53fcde19848c48e5a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a278d361e0e8f242211891193d56483a7a9f47a8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix layout fence worker double-reference race\n\nThe workqueue core clears WORK_STRUCT_PENDING before the callback\nis invoked, so delayed_work_pending() in lm_breaker_timedout() can\nreturn false while the fence worker is already running. This lets\nthe breaker take a duplicate sc_count reference and schedule a new\nworker that coalesces with the in-progress one. The extra reference\nis never put, leaking the layout stateid.\n\nReplace the racy delayed_work_pending() check with an\nls_fence_inflight boolean set atomically with\nrefcount_inc_not_zero() under ls_lock, and cleared under ls_lock\nbefore the final nfs4_put_stid() on the dispose path; the retry\npath intentionally retains it. Remove the self-rearm\nmod_delayed_work() at the top of the worker."
}
],
"lastModified": "2026-09-13T07:17:33.890",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}