CVE-2026-98454
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
smb: client: fix create context out-of-bounds reads
smb2_parse_contexts() valida el área completa de create-context, pero no limita cada registro a su campo Next antes de despacharlo al manejador correspondiente. Por tanto, una cadena malformada puede exponer a un manejador bytes situados más allá del contexto actual. El manejador de QFid también usaba un casting de la estructura de respuesta completa, aunque solo lee DiskFileId.
Los analizadores de lease de SMB2/SMB3 hacían la misma suposición de diseño: leían LeaseState y LeaseFlags en desplazamientos canónicos en lugar de en DataOffset.
Leer descripción completaMostrar menos
Un DataOffset válido no canónico podía, por tanto, devolver datos no relacionados pero dentro de los límites, mientras que un DataLength demasiado corto seguía siendo aceptado.
Se limita cada contexto a su valor Next, se rechazan los desplazamientos anteriores a la cabecera del contexto y se rechazan las cadenas malformadas. Se acota el rango del nombre por el contexto actual y no se despacha un manejador conocido cuando DataLength es cero. Se lee DiskFileId de QFid solo cuando los datos del contexto cubren ese campo. Se analiza el contexto de lease a partir de DataOffset y se exige que DataLength coincida con el tamaño del lease_context v1 o v2 utilizado por ksmbd. Una discrepancia de tamaño omite el análisis del lease sin hacer fallar la apertura.
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
- 6
- 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
Mostrar las 5 referencias
- https://git.kernel.org/stable/c/05a7fd80024ff32b9b40ab1478bb172eeab1c386
- https://git.kernel.org/stable/c/28bc9a871799363afa3139e961a8e3684feb8704
- https://git.kernel.org/stable/c/67f4c1c6a1b51e203d986779299824d1c2c590a6
- https://git.kernel.org/stable/c/cecc5399987e73a528ce2b662eeb54af69163cbd
- https://git.kernel.org/stable/c/e4c49012708c917eafd9c27054b02d0f8b30fe64
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98454",
"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": "b8c32dbb0deb287a5fcb78251e4eae6c7275760d",
"lessThan": "e4c49012708c917eafd9c27054b02d0f8b30fe64",
"versionType": "git"
},
{
"status": "affected",
"version": "b8c32dbb0deb287a5fcb78251e4eae6c7275760d",
"lessThan": "28bc9a871799363afa3139e961a8e3684feb8704",
"versionType": "git"
},
{
"status": "affected",
"version": "b8c32dbb0deb287a5fcb78251e4eae6c7275760d",
"lessThan": "05a7fd80024ff32b9b40ab1478bb172eeab1c386",
"versionType": "git"
},
{
"status": "affected",
"version": "b8c32dbb0deb287a5fcb78251e4eae6c7275760d",
"lessThan": "cecc5399987e73a528ce2b662eeb54af69163cbd",
"versionType": "git"
},
{
"status": "affected",
"version": "b8c32dbb0deb287a5fcb78251e4eae6c7275760d",
"lessThan": "67f4c1c6a1b51e203d986779299824d1c2c590a6",
"versionType": "git"
}
],
"programFiles": [
"fs/smb/client/smb2ops.c",
"fs/smb/client/smb2pdu.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.7"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.7",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.55",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/smb/client/smb2ops.c",
"fs/smb/client/smb2pdu.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:16:55.757",
"references": [
{
"url": "https://git.kernel.org/stable/c/05a7fd80024ff32b9b40ab1478bb172eeab1c386",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/28bc9a871799363afa3139e961a8e3684feb8704",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/67f4c1c6a1b51e203d986779299824d1c2c590a6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cecc5399987e73a528ce2b662eeb54af69163cbd",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e4c49012708c917eafd9c27054b02d0f8b30fe64",
"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: fix create context out-of-bounds reads\n\nsmb2_parse_contexts() validates the complete create-context area but\ndoes not limit each record to its Next field before dispatching it. A\nmalformed chain can therefore expose bytes beyond the current context to\na handler. The QFid handler also used a full response-structure cast\nalthough it only reads DiskFileId.\n\nThe SMB2/SMB3 lease parsers made the same layout assumption: they read\nLeaseState and LeaseFlags at canonical offsets rather than at\nDataOffset. A valid non-canonical DataOffset could therefore yield\nunrelated in-bounds data, while a short DataLength was still accepted.\n\nLimit each context to its Next value, reject offsets before the context\nheader, and reject malformed chains. Bound the name range by the current\ncontext and do not dispatch a known handler when DataLength is zero. Read\nthe QFid DiskFileId only when the context data covers that field. Parse the\nlease context from DataOffset and require DataLength to match the v1 or v2\nlease_context size used by ksmbd. A size mismatch skips lease parsing\nwithout failing the open."
}
],
"lastModified": "2026-10-19T10:18:54.673",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}