CVE-2026-98777
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
binder: corrección de las referencias de fd filtradas al sustituir una transacción con TF_UPDATE_TXN
Cuando una transacción TF_UPDATE_TXN sustituye a una transacción asíncrona pendiente en un proceso congelado, la transacción obsoleta se libera directamente con kfree(). Esto omite binder_free_txn_fixups(), filtrando todas las entradas binder_txn_fd_fixup y sus referencias struct file obtenidas mediante fget().
Los contadores de referencia de los archivos filtrados nunca llegan a cero, por lo que los objetos struct file quedan fijados de forma permanente en memoria. Sobreviven a la finalización del proceso y se acumulan entre invocaciones hasta agotar file-max.
Leer descripción completaMostrar menos
Todas las demás rutas de limpieza de transacciones (binder_free_transaction(), las rutas de error de binder_transaction(), binder_release_work()) llaman correctamente a binder_free_txn_fixups(). Se añade la llamada que faltaba antes de kfree() en el bloque de limpieza de t_outdated.
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 4 referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98777",
"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": "9864bb4801331daa48514face9d0f4861e4d485b",
"lessThan": "7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55",
"versionType": "git"
},
{
"status": "affected",
"version": "9864bb4801331daa48514face9d0f4861e4d485b",
"lessThan": "1299cb3fb061598496086fc87ff291057831148e",
"versionType": "git"
},
{
"status": "affected",
"version": "9864bb4801331daa48514face9d0f4861e4d485b",
"lessThan": "6673f4f21e2fddfed0abe1eb9045cc958e6db130",
"versionType": "git"
},
{
"status": "affected",
"version": "9864bb4801331daa48514face9d0f4861e4d485b",
"lessThan": "c4c02084d6687d5cd5edccaf52cc45e5160f1184",
"versionType": "git"
}
],
"programFiles": [
"drivers/android/binder.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.0"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.0",
"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": [
"drivers/android/binder.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:31.657",
"references": [
{
"url": "https://git.kernel.org/stable/c/1299cb3fb061598496086fc87ff291057831148e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6673f4f21e2fddfed0abe1eb9045cc958e6db130",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c4c02084d6687d5cd5edccaf52cc45e5160f1184",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinder: fix leaked fd fixups on TF_UPDATE_TXN supersede\n\nWhen a TF_UPDATE_TXN transaction supersedes a pending async transaction\nin a frozen process, the outdated transaction is freed with kfree()\ndirectly. This skips binder_free_txn_fixups(), leaking all\nbinder_txn_fd_fixup entries and their fget()'d struct file references.\n\nThe leaked file refcounts never reach zero, so the struct file objects\nare permanently pinned in memory. They survive process exit and\naccumulate across invocations until file-max exhaustion.\n\nEvery other transaction cleanup path (binder_free_transaction(),\nbinder_transaction() error paths, binder_release_work()) correctly\ncalls binder_free_txn_fixups(). Add the missing call before kfree()\nin the t_outdated cleanup block."
}
],
"lastModified": "2026-10-19T10:19:41.807",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}