CVE-2026-98752
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
tty: port: fix tty_port_tty_vhangup() race
Los controladores dependen de tty_port_tty_vhangup() para colgar de forma síncrona sus puertos antes de desmontar los recursos como parte de la desregistración (por ejemplo, ante una desconexión física).
Si tty_port_tty_vhangup() entra en condición de carrera con otro colgado, puede, sin embargo, devolver el control antes de que el puerto se haya apagado. Esto, a su vez, puede provocar use-after-free (uso de memoria liberada) y desreferencias de puntero NULL en ioctls concurrentes (incluido un colgado síncrono) y en el procesamiento de colgados asíncronos concurrentes (pérdida de portadora).
Leer descripción completaMostrar menos
Añade la serialización que faltaba en tty_port_tty_vhangup() y tty_port_hangup() para que la primera no devuelva el control hasta que el puerto se haya apagado también cuando haya un colgado concurrente.
Tenga en cuenta que el núcleo serie no usa tty_port_hangup(), pero ya mantiene el mutex del puerto al borrar port->tty y apagar el puerto en uart_hangup().
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-98752",
"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": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
"lessThan": "6d1a984afc3ca477dab3e51ec806671d443ad524",
"versionType": "git"
},
{
"status": "affected",
"version": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
"lessThan": "6b7be3b9b857947e9c1338d4919d4ebd3b75e907",
"versionType": "git"
},
{
"status": "affected",
"version": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
"lessThan": "017b18addbe8dcace1a569a00d40ed1ba1e03f4c",
"versionType": "git"
},
{
"status": "affected",
"version": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
"lessThan": "b48820de8c1a596c5b99775524dfce73c6576c5d",
"versionType": "git"
},
{
"status": "affected",
"version": "4260dc792fabfd20c8644fa9414b2ae48372365f",
"versionType": "git"
},
{
"status": "affected",
"version": "2.6.31.2",
"lessThan": "2.6.32",
"versionType": "semver"
}
],
"programFiles": [
"drivers/tty/tty_port.c",
"include/linux/tty_port.h"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.32"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.32",
"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/tty/tty_port.c",
"include/linux/tty_port.h"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:28.993",
"references": [
{
"url": "https://git.kernel.org/stable/c/017b18addbe8dcace1a569a00d40ed1ba1e03f4c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6b7be3b9b857947e9c1338d4919d4ebd3b75e907",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6d1a984afc3ca477dab3e51ec806671d443ad524",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b48820de8c1a596c5b99775524dfce73c6576c5d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntty: port: fix tty_port_tty_vhangup() race\n\nDrivers rely on tty_port_tty_vhangup() to synchronously hang up their\nports before tearing down resources as part of deregistration (e.g. on\nphysical disconnect).\n\nIf tty_port_tty_vhangup() races with another hangup it may however\nreturn before the port has been shut down. This is in turn can lead to\nuse-after-free and NULL-pointer dereferences in racing ioctls (including\na synchronous hangup) and in processing of racing asynchronous hangups\n(carrier loss).\n\nAdd the missing serialisation to tty_port_tty_vhangup() and\ntty_port_hangup() so that the former does not return until the port has\nbeen shut down also when there is a racing hangup.\n\nNote that serial core does not use tty_port_hangup(), but it already\nholds the port mutex when clearing port->tty and shutting down the port\nin uart_hangup()."
}
],
"lastModified": "2026-10-19T10:19:39.353",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}