CVE-2026-98443
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
xfs: corregir el manejo del cursor y de los punteros al recuperar los buckets de iunlink
LOLLM señaló un fallo en xlog_recover_iunlink_bucket:
1. No anulamos prev_ip tras liberarlo, lo que puede provocar problemas de use-after-free (uso de memoria liberada) si la llamada de vaciado de inodegc dentro del bucle falla.
En ese punto observé más fallos:
2. Si el vaciado de inodegc dentro del bucle falla, también perdemos @ip (fuga de referencia).
3. Asignamos prev_agino a agino después de haber avanzado ya agino, lo que provoca que los inodos tengan i_prev_unlinked apuntando a sí mismos.
Leer descripción completaMostrar menos
4. Si salimos por la parte inferior del bucle con prev_ip establecido, prev_ip es un alias de ip y además asignamos a su i_prev_unlinked el propio inodo.
Los fallos 3 y 4 introducen bucles en la lista no enlazada, aunque estos bucles no llegan a manifestarse porque vaciamos cada inodo no enlazado inmediatamente después de cargarlo.
Se corrigen todos estos problemas.
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
- 21/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 5 referencias
- https://git.kernel.org/stable/c/47a948ba653a463d429e02fda2f06a3d6b78666d
- https://git.kernel.org/stable/c/65f39d09d73718611cee40399179323b5d4ead00
- https://git.kernel.org/stable/c/66a2179d02668f8df44b1a249899006f3ba38ea0
- https://git.kernel.org/stable/c/8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1
- https://git.kernel.org/stable/c/961c717e6bf0e53c2c2b1fe4aef1add9390fedab
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98443",
"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": "04755d2e5821b3afbaadd09fe5df58d04de36484",
"lessThan": "47a948ba653a463d429e02fda2f06a3d6b78666d",
"versionType": "git"
},
{
"status": "affected",
"version": "04755d2e5821b3afbaadd09fe5df58d04de36484",
"lessThan": "8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1",
"versionType": "git"
},
{
"status": "affected",
"version": "04755d2e5821b3afbaadd09fe5df58d04de36484",
"lessThan": "66a2179d02668f8df44b1a249899006f3ba38ea0",
"versionType": "git"
},
{
"status": "affected",
"version": "04755d2e5821b3afbaadd09fe5df58d04de36484",
"lessThan": "961c717e6bf0e53c2c2b1fe4aef1add9390fedab",
"versionType": "git"
},
{
"status": "affected",
"version": "04755d2e5821b3afbaadd09fe5df58d04de36484",
"lessThan": "65f39d09d73718611cee40399179323b5d4ead00",
"versionType": "git"
}
],
"programFiles": [
"fs/xfs/xfs_log_recover.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.6.160",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.113",
"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": [
"fs/xfs/xfs_log_recover.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:16:54.620",
"references": [
{
"url": "https://git.kernel.org/stable/c/47a948ba653a463d429e02fda2f06a3d6b78666d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/65f39d09d73718611cee40399179323b5d4ead00",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/66a2179d02668f8df44b1a249899006f3ba38ea0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/961c717e6bf0e53c2c2b1fe4aef1add9390fedab",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxfs: fix cursor and pointer handling when recovering iunlink buckets\n\nLOLLM pointed out a bug in xlog_recover_iunlink_bucket:\n\n1. We don't null out prev_ip after releasing it, which can lead to UAF\n problems if the inodegc flush call in the loop fails.\n\nat which point I noticed even more bugs:\n\n2. If the inodegc flush inside the loop fails, we also leak @ip.\n\n3. We set prev_agino to agino having already advanced agino, which\n results in inodes with i_prev_unlinked set to itself.\n\n4. If we exit the bottom of the loop with prev_ip set, then prev_ip\n aliases ip and we also set its i_prev_unlinked to itself.\n\nBugs 3 and 4 introduce loops into the unlinked list, though these loops\ndon't surface because we immediately flush each unlinked inode after\nloading it.\n\nFix all of these issues."
}
],
"lastModified": "2026-10-21T13:21:29.730",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}