CVE-2026-98800
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
bpf: Esperar a un periodo de gracia de RCU tasks antes de liberar los programas de trampolín
Cuando un programa se desvincula de un trampolín, se libera tras un periodo de gracia de RCU o, si es sleepable, tras un periodo de gracia de RCU tasks trace. Esto cubre las tareas que están ejecutando el programa, ya que la función auxiliar de entrada del programa adquiere el cerrojo de lectura correspondiente antes de llamarlo. En un kernel apropiable, no cubre una tarea que fue desalojada en el trampolín justo antes de la función auxiliar de entrada. Esa tarea todavía no tiene ningún cerrojo y llama al programa después de haberlo liberado:
Leer descripción completaMostrar menos
Esperar a un periodo de gracia de RCU tasks antes del que ya existe al liberar un programa que estaba vinculado a un trampolín. Un periodo de gracia de RCU tasks solo termina cuando las tareas que fueron desalojadas han vuelto a ejecutarse, y bpf_tramp_image_put() ya depende de ello para liberar la imagen. No espera a las tareas que duermen en el trampolín; eso lo resuelve el siguiente commit.
Solo los programas que estaban vinculados a un trampolín pueden llamarse de esta forma, por lo que bpf_trampoline_add_prog() los marca y el resto de programas se siguen liberando como antes.
Detalles técnicos trazas, registros y código del informe original
BUG: KASAN: vmalloc-out-of-bounds in __bpf_prog_enter_recur+0x3a5/0x3f0 Read of size 8 at addr ffffc90000055040 by task candidate/110 CPU: 1 UID: 0 PID: 110 Comm: candidate Not tainted 7.3.0-rc2-00014-g15071f2a1263-dirty #2 PREEMPT(full) Call Trace: <TASK> __bpf_prog_enter_recur+0x3a5/0x3f0 bpf_trampoline_6442509193+0x37/0xf1 __x64_sys_futex+0x9/0x410 do_syscall_64+0xb0/0x530 ...
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.15 %
- Percentil entre todas las CVEs puntuadas
- 4
- 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-98800",
"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": "e21aa341785c679dd409c8cb71f864c00fe6c463",
"lessThan": "40955f6512a03f0e046f5256b0706b26ba191018",
"versionType": "git"
},
{
"status": "affected",
"version": "e21aa341785c679dd409c8cb71f864c00fe6c463",
"lessThan": "0fb5751a6e411b1b466c06e50021818d9391df98",
"versionType": "git"
},
{
"status": "affected",
"version": "e21d2b92354b3cd25dd774ebb0f0e52ff04a7861",
"versionType": "git"
},
{
"status": "affected",
"version": "85d177f56e5256e14b74a65940f981f6e3e8bb32",
"versionType": "git"
},
{
"status": "affected",
"version": "5.10.28",
"lessThan": "5.11",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.11.11",
"lessThan": "5.12",
"versionType": "semver"
}
],
"programFiles": [
"include/linux/bpf.h",
"kernel/bpf/syscall.c",
"kernel/bpf/trampoline.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.12"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.12",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"include/linux/bpf.h",
"kernel/bpf/syscall.c",
"kernel/bpf/trampoline.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:34.030",
"references": [
{
"url": "https://git.kernel.org/stable/c/0fb5751a6e411b1b466c06e50021818d9391df98",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/40955f6512a03f0e046f5256b0706b26ba191018",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Wait for an RCU tasks grace period before freeing trampoline progs\n\nWhen a prog is detached from a trampoline, it is freed after an RCU\ngrace period, or an RCU tasks trace one if it is sleepable. This covers\nthe tasks that are running the prog, since the prog's enter helper takes\nthe matching read lock before the prog is called. On a preemptible\nkernel, it doesn't cover a task that was preempted in the trampoline\njust before the enter helper. That task holds no lock yet, and it calls\nthe prog after it was freed:\n\n BUG: KASAN: vmalloc-out-of-bounds in __bpf_prog_enter_recur+0x3a5/0x3f0\n Read of size 8 at addr ffffc90000055040 by task candidate/110\n CPU: 1 UID: 0 PID: 110 Comm: candidate Not tainted 7.3.0-rc2-00014-g15071f2a1263-dirty #2 PREEMPT(full)\n Call Trace:\n <TASK>\n __bpf_prog_enter_recur+0x3a5/0x3f0\n bpf_trampoline_6442509193+0x37/0xf1\n __x64_sys_futex+0x9/0x410\n do_syscall_64+0xb0/0x530\n ...\n\nWait for an RCU tasks grace period before the existing one when freeing\na prog that was linked to a trampoline. An RCU tasks grace period only\nends once the tasks that were preempted have run again, and\nbpf_tramp_image_put() already relies on it to free the image. It doesn't\nwait for tasks that sleep in the trampoline, the next commit takes care\nof those.\n\nOnly progs that were linked to a trampoline can be called this way, so\nbpf_trampoline_add_prog() marks them and other progs are still freed as\nbefore."
}
],
"lastModified": "2026-10-19T10:19:44.050",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}