CVE-2026-98626
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
bpf: Restringir el envenenamiento de CO-RE a las instrucciones reubicables
Los registros de reubicación de CO-RE pueden indicar cualquier desplazamiento de instrucción. Cuando una reubicación no puede resolverse, bpf_core_patch_insn() actualmente envenena su destino antes de comprobar si esa instrucción es un destino de reubicación válido. Por tanto, metadatos malformados pueden reemplazar saltos, llamadas, salidas, aritmética con registro de origen o cargas que no son inmediatas, en lugar de fallar en el paso de reubicación.
Gestionar el envenenamiento solo después de que la instrucción haya superado las mismas comprobaciones de clase y forma de operandos que se usan para una reubicación resuelta.
Leer descripción completaMostrar menos
Dirigir las formas no válidas al diagnóstico existente y devolver un error grave. Mantener el envenenamiento de las instrucciones admitidas, incluidas ambas mitades de un ldimm64 simple, de modo que una reubicación no resuelta en código muerto siga siendo válida.
Ampliar bpf_core_poison_insn() para envenenar ambas mitades de ldimm64 y devolver su estado directamente desde cada caso de instrucción validado. Así se evita dirigir la ruta de éxito a través de una etiqueta común y se deja al auxiliar libre para informar de errores.
El código de reubicación compartido aplica esta restricción tanto a libbpf como a CO-RE en el kernel.
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.21 %
- Percentil entre todas las CVEs puntuadas
- 10
- 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 7 referencias
- https://git.kernel.org/stable/c/2d7d04357c41aa49a5ac658fcc207439f2ad6456
- https://git.kernel.org/stable/c/394ae398337c5f87e567f6cd63b937fc2b2f6ddc
- https://git.kernel.org/stable/c/8e4cbcca1e0a2fc5e6c8edb68e0cf5f2587f9319
- https://git.kernel.org/stable/c/a0b79cdfcf34b53c85bac2d3cf022fc1342eeca0
- https://git.kernel.org/stable/c/a8c47e62d9aea2d47a09e06c1682c59c21b92449
- https://git.kernel.org/stable/c/d3219c229d16900cef936adad28633c98946e432
- https://git.kernel.org/stable/c/f2a24101e89dd0804e717da7c1bd6af513698aa2
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98626",
"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": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "a8c47e62d9aea2d47a09e06c1682c59c21b92449",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "d3219c229d16900cef936adad28633c98946e432",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "a0b79cdfcf34b53c85bac2d3cf022fc1342eeca0",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "f2a24101e89dd0804e717da7c1bd6af513698aa2",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "2d7d04357c41aa49a5ac658fcc207439f2ad6456",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "8e4cbcca1e0a2fc5e6c8edb68e0cf5f2587f9319",
"versionType": "git"
},
{
"status": "affected",
"version": "d7a252708dbc950ca2064310217e8b9f85846e2f",
"lessThan": "394ae398337c5f87e567f6cd63b937fc2b2f6ddc",
"versionType": "git"
}
],
"programFiles": [
"tools/lib/bpf/relo_core.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.6"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.6",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"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": [
"tools/lib/bpf/relo_core.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:15.640",
"references": [
{
"url": "https://git.kernel.org/stable/c/2d7d04357c41aa49a5ac658fcc207439f2ad6456",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/394ae398337c5f87e567f6cd63b937fc2b2f6ddc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8e4cbcca1e0a2fc5e6c8edb68e0cf5f2587f9319",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a0b79cdfcf34b53c85bac2d3cf022fc1342eeca0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a8c47e62d9aea2d47a09e06c1682c59c21b92449",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d3219c229d16900cef936adad28633c98946e432",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f2a24101e89dd0804e717da7c1bd6af513698aa2",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Restrict CO-RE poisoning to relocatable instructions\n\nCO-RE relocation records can name any instruction offset. When a\nrelocation cannot be resolved, bpf_core_patch_insn() currently poisons its\ntarget before checking whether that instruction is a valid relocation\ntarget. Malformed metadata can therefore replace jumps, calls, exits,\nregister-source arithmetic, or non-immediate loads instead of failing at\nthe relocation step.\n\nHandle poisoning only after the instruction has passed the same class and\noperand-form checks used for a resolved relocation. Route invalid forms\nthrough the existing diagnostic and return a hard error. Keep poisoning\nsupported instructions, including both halves of a plain ldimm64, so an\nunresolved relocation in dead code remains valid.\n\nExtend bpf_core_poison_insn() to poison both halves of ldimm64, and return\nits status directly from each validated instruction case. This avoids\nrouting the success path through a common label and leaves the helper free\nto report errors.\n\nThe shared relocation code applies this restriction to both libbpf and\nin-kernel CO-RE."
}
],
"lastModified": "2026-10-19T10:19:26.820",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}