CVE-2026-98862
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
audit: fix exe mark UAF in kill_rules()
kill_rules() elimina las reglas mixtas AUDIT_DIR y AUDIT_EXE cuando se poda un árbol de auditoría. Libera entry->rule.exe antes de eliminar la regla de las listas de filtros visibles para RCU.
Tras instalar una regla con AUDIT_ADD_RULE, lo que requiere CAP_AUDIT_CONTROL, la eliminación del directorio vigilado puede entrar en condición de carrera con otra tarea que todavía está evaluando la regla. En ese caso, fsnotify puede liberar la marca del ejecutable antes de que el lector llegue a audit_mark_compare(), lo que provoca un use-after-free.
Leer descripción completaMostrar menos
Desvincula las reglas publicadas de las listas visibles para RCU y las conserva en tree->rules para su limpieza. Si alguna regla tiene una marca de ejecutable, espera un único periodo de gracia de RCU antes de eliminar las marcas y programar la liberación de las entradas. En caso contrario, call_rcu() ya proporciona la liberación diferida necesaria sin una espera síncrona.
Detalles técnicos trazas, registros y código del informe original
KASAN informa:
BUG: KASAN: slab-use-after-free in audit_mark_compare+0x8d/0xa0Traducció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.16 %
- 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
Mostrar las 4 referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98862",
"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": "34d99af52ad40bd498ba66970579a5bc1fb1a3bc",
"lessThan": "304960900991157e6883bdf0b39782b690545ee8",
"versionType": "git"
},
{
"status": "affected",
"version": "34d99af52ad40bd498ba66970579a5bc1fb1a3bc",
"lessThan": "88633025f20ba9c32ccdb3efc86eafdf98cb825c",
"versionType": "git"
},
{
"status": "affected",
"version": "34d99af52ad40bd498ba66970579a5bc1fb1a3bc",
"lessThan": "f2cc5462b78559c7628a9f8ac9a9592e7783183a",
"versionType": "git"
},
{
"status": "affected",
"version": "34d99af52ad40bd498ba66970579a5bc1fb1a3bc",
"lessThan": "aa650d87a498844060eecb1d336f4d46f4d1b0b3",
"versionType": "git"
}
],
"programFiles": [
"kernel/audit_tree.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.3"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.3",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"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": [
"kernel/audit_tree.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:40.677",
"references": [
{
"url": "https://git.kernel.org/stable/c/304960900991157e6883bdf0b39782b690545ee8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/88633025f20ba9c32ccdb3efc86eafdf98cb825c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aa650d87a498844060eecb1d336f4d46f4d1b0b3",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f2cc5462b78559c7628a9f8ac9a9592e7783183a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\naudit: fix exe mark UAF in kill_rules()\n\nkill_rules() removes mixed AUDIT_DIR and AUDIT_EXE rules when an audit\ntree is pruned. It drops entry->rule.exe before removing the rule from\nthe RCU-visible filter lists.\n\nAfter a rule has been installed with AUDIT_ADD_RULE, which requires\nCAP_AUDIT_CONTROL, removing the watched directory can race with another\ntask that is still evaluating the rule. In that case, fsnotify can free\nthe executable mark before the reader reaches audit_mark_compare(),\ncausing a use-after-free.\n\nKASAN reports:\n\n BUG: KASAN: slab-use-after-free in audit_mark_compare+0x8d/0xa0\n\nUnlink the published rules from the RCU-visible lists and retain them\non tree->rules for cleanup. If any rule has an executable mark, wait for\na single RCU grace period before removing the marks and scheduling the\nentries for freeing. Otherwise, call_rcu() already provides the required\ndeferred freeing without a synchronous wait."
}
],
"lastModified": "2026-10-19T10:19:50.287",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}