CVE-2026-98604
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
ovpn: sustituir el bind al aprender el endpoint local
La estructura struct ovpn_bind se publica en peer->bind mediante RCU, pero el aprendizaje del endpoint local actualiza bind->local in situ bajo peer->lock. La TX de UDP lee el campo sin ese bloqueo. En particular, una actualización concurrente de IPv6 puede dar lugar, por tanto, a una lectura incompleta (torn) de la dirección.
Usar ovpn_peer_reset_sockaddr para publicar un bind de sustitución al aprender un nuevo endpoint local, igual que ocurre con un cambio de endpoint remoto. Conservar la dirección remota actual y restablecer la caché de destino (dst cache) solo después de que el nuevo bind se haya publicado correctamente.
Leer descripción completaMostrar menos
Seguir los cambios de endpoint remoto por separado, de modo que la notificación de float y el nuevo cálculo de hash de la dirección de transporte se limiten a los floats reales del peer.
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-98604",
"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": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"lessThan": "21dbc9f4d0bdd3b22f91beabc7840064bf11594f",
"versionType": "git"
},
{
"status": "affected",
"version": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"lessThan": "e283009151d3d131447c2edda500199c5fda5f72",
"versionType": "git"
},
{
"status": "affected",
"version": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"lessThan": "aea934a221ec6a867221e5b765f65f1857befd53",
"versionType": "git"
}
],
"programFiles": [
"drivers/net/ovpn/peer.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.16"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.16",
"versionType": "semver"
},
{
"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": [
"drivers/net/ovpn/peer.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:13.140",
"references": [
{
"url": "https://git.kernel.org/stable/c/21dbc9f4d0bdd3b22f91beabc7840064bf11594f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aea934a221ec6a867221e5b765f65f1857befd53",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e283009151d3d131447c2edda500199c5fda5f72",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\novpn: replace bind when learning local endpoint\n\nstruct ovpn_bind is published through peer->bind with RCU, but local\nendpoint learning updates bind->local in place under peer->lock. UDP TX\nreads the field without that lock. In particular, a concurrent IPv6\nupdate can therefore result in a torn address read.\n\nUse ovpn_peer_reset_sockaddr to publish a replacement bind when learning\na new local endpoint, just as a remote endpoint change does. Preserve\nthe current remote address and reset the dst cache only after the new\nbind has been published successfully.\n\nTrack remote endpoint changes separately so that float notification and\ntransport-address rehashing remain limited to actual peer floats."
}
],
"lastModified": "2026-10-19T10:19:22.180",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}