CVE-2026-98843
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
netfs: poner a cero los huecos del folio de lectura de huecos para evitar escribir de nuevo datos obsoletos
netfs_read_gaps() deja sin leer en el lado del servidor los huecos situados alrededor de la región sucia de una escritura en streaming, por lo que una respuesta corta o de EOF en esa zona dejaba contenido obsoleto en el folio, que más tarde se escribía de nuevo.
Ponerlo a cero después de que termine la lectura, no antes: netfs_wait_for_read() devuelve rreq->transferred una vez que ret >= 0, así que se construye un iterador sobre el mismo array de bvec que usó la lectura, se avanza más allá de ret y se pone a cero el resto.
Leer descripción completaMostrar menos
La región sucia ya se asigna a páginas sumidero en ese array en lugar de al folio real, por lo que esto no puede afectarla, y solo se pone a cero el déficit real en lugar de todo el hueco de antemano.
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-98843",
"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": "ee4cdf7ba857a894ad1650d6ab77669cbbfa329e",
"lessThan": "512eaf01ffabf4258e945016b50df5aed940b705",
"versionType": "git"
},
{
"status": "affected",
"version": "ee4cdf7ba857a894ad1650d6ab77669cbbfa329e",
"lessThan": "2a62fe628a877c249c8286b157ee99d82840d9dc",
"versionType": "git"
},
{
"status": "affected",
"version": "ee4cdf7ba857a894ad1650d6ab77669cbbfa329e",
"lessThan": "8db55c5cd831a786a1a2a2d391aa80354535a353",
"versionType": "git"
}
],
"programFiles": [
"fs/netfs/buffered_read.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.12"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.12",
"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/netfs/buffered_read.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:38.623",
"references": [
{
"url": "https://git.kernel.org/stable/c/2a62fe628a877c249c8286b157ee99d82840d9dc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/512eaf01ffabf4258e945016b50df5aed940b705",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8db55c5cd831a786a1a2a2d391aa80354535a353",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: zero gaps in read-gaps folio to avoid writing back stale data\n\nnetfs_read_gaps() leaves gaps around a streaming write's dirty region\nunread on the server side, so a short/EOF response there left stale\nfolio content that later got written back.\n\nZero it after the read completes, not before: netfs_wait_for_read()\nreturns rreq->transferred once ret >= 0, so build an iterator over the\nsame bvec array the read used, advance past ret, and zero the rest.\nThe dirty region already maps to sink pages in that array rather than\nthe real folio, so this can't touch it, and only the actual shortfall\ngets zeroed instead of the whole gap upfront."
}
],
"lastModified": "2026-10-19T10:19:48.390",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}