CVE-2026-98683
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
smb: client: flush dirty data before zeroing a range
smb3_zero_range() emula FALLOC_FL_ZERO_RANGE invalidando la caché de páginas sobre el rango de destino con truncate_pagecache_range() y, a continuación, envía FSCTL_SET_ZERO_DATA al servidor.
Los datos sucios solo se volcaban de forma condicional, cuando el rango alcanzaba o superaba el EOF. En un rango de puesta a cero puramente interior que no alcanza el EOF, no se realizaba ningún volcado, por lo que un folio sucio que se solapaba con el rango podía escribirse en el servidor después de la FSCTL y volver a rellenar el rango recién puesto a cero con datos obsoletos.
Leer descripción completaMostrar menos
Esto se corrige vaciando y esperando de forma incondicional los datos sucios del rango antes de invalidar la caché de páginas y de emitir FSCTL_SET_ZERO_DATA, exactamente igual que se hizo para smb3_punch_hole() en el commit d7d2adcd022b ("smb/client: flush dirty data before punching a hole"); ambas rutas son estructuralmente idénticas en este punto.
Se ha observado esto como que generic/363 lee aleatoriamente datos obsoletos donde se espera un rango puesto a cero frente a Windows Server.
Traducción automática del texto original de NVD (en inglés).
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.17 %
- Percentil entre todas las CVEs puntuadas
- 5
- Fecha de la puntuación
- 20/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-98683",
"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": "91d1dfae464987aaf6c79ff51d8674880fb3be77",
"lessThan": "cecf4114069fc19629d284710fd783d56bbca862",
"versionType": "git"
},
{
"status": "affected",
"version": "91d1dfae464987aaf6c79ff51d8674880fb3be77",
"lessThan": "e8ba21c7e6ef3d4cb617858760673877b2e4a2bb",
"versionType": "git"
},
{
"status": "affected",
"version": "91d1dfae464987aaf6c79ff51d8674880fb3be77",
"lessThan": "8f8d32c1044f70e46e87550e039a15ff20a4b21c",
"versionType": "git"
},
{
"status": "affected",
"version": "13af7446428771e9e529284d390e7994df8be683",
"versionType": "git"
},
{
"status": "affected",
"version": "0a9423f99ded38b32bd1864347332cc557e6b141",
"versionType": "git"
},
{
"status": "affected",
"version": "7dfa4279c55f467a88e653a5d544817181b22aea",
"versionType": "git"
},
{
"status": "affected",
"version": "6.1.110",
"lessThan": "6.2",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.6.51",
"lessThan": "6.7",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.10.10",
"lessThan": "6.11",
"versionType": "semver"
}
],
"programFiles": [
"fs/smb/client/smb2ops.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.11"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.11",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/smb/client/smb2ops.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:21.660",
"references": [
{
"url": "https://git.kernel.org/stable/c/8f8d32c1044f70e46e87550e039a15ff20a4b21c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cecf4114069fc19629d284710fd783d56bbca862",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e8ba21c7e6ef3d4cb617858760673877b2e4a2bb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: flush dirty data before zeroing a range\n\nsmb3_zero_range() emulates FALLOC_FL_ZERO_RANGE by invalidating the\npage cache over the target range with truncate_pagecache_range() and\nthen issuing FSCTL_SET_ZERO_DATA to the server.\n\nDirty data was only flushed conditionally, when the range reached or\nextended EOF. For a purely interior zero range that does not reach\nEOF, no flush happened, so a dirty folio overlapping the range could\nbe written back to the server after the FSCTL and refill the range\nthat was just zeroed with stale data.\n\nFix this by unconditionally flushing and waiting for dirty data in the\nrange before invalidating the page cache and issuing\nFSCTL_SET_ZERO_DATA, exactly as was done for smb3_punch_hole() in\ncommit d7d2adcd022b (\"smb/client: flush dirty data before punching a\nhole\"); the two paths are structurally identical here.\n\nThis is observed as generic/363 randomly reading stale data where a\nzeroed range is expected against Windows Server."
}
],
"lastModified": "2026-10-19T10:19:32.727",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}