CVE-2026-98693
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
thunderbolt: Mantener una referencia al router por cada HopID asignado
tb_stop() libera la referencia a todos los túneles DP, pero no los desactiva; por tanto, nada cancela un dprx_work que aún está en curso (y que mantiene su propia referencia al túnel), y el túnel puede sobrevivir a tb_switch_remove(). Las liberaciones de HopID en tb_path_free() operan entonces sobre IDA ya liberadas y provocan advertencias como
Esto puede desencadenarse desvinculando el controlador mientras un túnel DP aún espera a que termine la lectura de las capacidades DPRX.
Leer descripción completaMostrar menos
En el NHI de Apple, desconectar el cable provoca exactamente esa situación de forma fiable, porque la lectura nunca puede terminar en este momento y porque la desconexión apaga todo el complejo USB4 y elimina el dispositivo NHI.
Tomar una referencia al router siempre que se asigne un HopID de entrada o de salida, y liberarla de nuevo después de que el HopID se haya liberado. Así se mantienen vivos los puertos y sus IDA de HopID mientras se utilicen.
Las pruebas KUnit asignan routers sin registrar nunca sus dispositivos, por lo que también hay que inicializar allí la struct device incrustada y liberar su referencia inicial al terminar la prueba.
Detalles técnicos trazas, registros y código del informe original
ida_free called for id=8 which is not allocated.
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.20 %
- Percentil entre todas las CVEs puntuadas
- 9
- 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-98693",
"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": "d6d458d42e1e1544a18f37f1d5c840e00d5261b9",
"lessThan": "c444d2c17dc236680324fd989232199680a6c419",
"versionType": "git"
},
{
"status": "affected",
"version": "d6d458d42e1e1544a18f37f1d5c840e00d5261b9",
"lessThan": "2b5f976119d8f099a03cbf700df3d9c8690fe33d",
"versionType": "git"
},
{
"status": "affected",
"version": "d6d458d42e1e1544a18f37f1d5c840e00d5261b9",
"lessThan": "032c59c7681c661b63123231824170c025afb7e7",
"versionType": "git"
}
],
"programFiles": [
"drivers/thunderbolt/switch.c",
"drivers/thunderbolt/test.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.14"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.14",
"versionType": "semver"
},
{
"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/thunderbolt/switch.c",
"drivers/thunderbolt/test.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:22.727",
"references": [
{
"url": "https://git.kernel.org/stable/c/032c59c7681c661b63123231824170c025afb7e7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/2b5f976119d8f099a03cbf700df3d9c8690fe33d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c444d2c17dc236680324fd989232199680a6c419",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nthunderbolt: Hold a router reference for each allocated HopID\n\ntb_stop() drops the reference to all DP tunnels but does not deactivate\nthem, thus nothing cancels a dprx_work still in flight (which holds its\nown tunnel reference) and the tunnel can outlive tb_switch_remove(). The\nHopID releases in tb_path_free() then operate on freed IDAs and trigger\nwarnings like\n\n ida_free called for id=8 which is not allocated.\n\nThis can be triggered by unbinding the driver while a DP tunnel is still\nwaiting for the DPRX capabilities read to finish. On the Apple NHI\nunplugging the cable runs into just that reliably because the read can\nnever finish right now and because the unplug powers down the entire\nUSB4 complex and removes the NHI device.\n\nTake a router reference whenever an input or output HopID is allocated\nand drop it again after the HopID is released. This keeps the ports and\ntheir HopID IDAs alive for as long as they are used.\n\nThe KUnit tests allocate routers without ever registering their devices\nso initialize the embedded struct device there as well and drop its\ninitial reference when the test is finished."
}
],
"lastModified": "2026-10-19T10:19:33.640",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}