CVE-2026-98599
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
bpf: Rechazar desplazamientos no negativos en stack_slot_obj_get_spi()
bpf_get_spi() calcula (-off - 1) / BPF_REG_SIZE usando división en C, que trunca hacia cero. Para off == 0, esto produce spi 0, el mismo índice que usa la ranura de pila válida en fp-8.
stack_slot_obj_get_spi() comprueba actualmente la alineación y los límites del spi resultante, pero no rechaza el propio desplazamiento no negativo. Por tanto, puede validar un registro PTR_TO_STACK que contiene fp+0 frente a un iterador almacenado en fp-8, aunque en tiempo de ejecución se recibe el puntero fp+0 real. Un kfunc de iterador con efectos secundarios puede entonces interpretar memoria situada fuera de la pila de BPF como estado del iterador.
Leer descripción completaMostrar menos
Rechazar los desplazamientos no negativos antes de convertir el desplazamiento en un spi. Todos los objetos de pila válidos comienzan con un desplazamiento negativo respecto al puntero de marco (frame pointer).
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.19 %
- Percentil entre todas las CVEs puntuadas
- 8
- 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-98599",
"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": "06accc8779c1d558a5b5a21f2ac82b0c95827ddd",
"lessThan": "89a7241fc7ecc1b5e47c3f071081e314523b8d9d",
"versionType": "git"
},
{
"status": "affected",
"version": "06accc8779c1d558a5b5a21f2ac82b0c95827ddd",
"lessThan": "79a9172f3ab4ad8392c5e5c8944b9b7710ade620",
"versionType": "git"
}
],
"programFiles": [
"kernel/bpf/verifier.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.4"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.4",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"kernel/bpf/verifier.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:12.603",
"references": [
{
"url": "https://git.kernel.org/stable/c/79a9172f3ab4ad8392c5e5c8944b9b7710ade620",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/89a7241fc7ecc1b5e47c3f071081e314523b8d9d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reject non-negative offsets in stack_slot_obj_get_spi()\n\nbpf_get_spi() computes (-off - 1) / BPF_REG_SIZE using C division,\nwhich truncates toward zero. For off == 0, this produces spi 0, the\nsame index used by the valid stack slot at fp-8.\n\nstack_slot_obj_get_spi() currently checks alignment and the resulting\nspi bounds, but does not reject the non-negative offset itself. It can\ntherefore validate a PTR_TO_STACK register holding fp+0 against an\niterator stored at fp-8 even though the runtime receives the actual fp+0\npointer. An effectful iterator kfunc can then interpret memory outside\nthe BPF stack as iterator state.\n\nReject non-negative offsets before converting the offset to an spi. All\nvalid stack objects begin at a negative offset from the frame pointer."
}
],
"lastModified": "2026-10-19T10:19:21.383",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}