CVE-2026-98457
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
Bluetooth: L2CAP: validar la longitud de la trama antes del acceso al campo de control y a la FCS
l2cap_data_rcv() desempaqueta un campo de control de dos o cuatro bytes sin comprobar antes que este esté presente. Una trama ERTM o en modo streaming corta puede, por tanto, provocar una lectura fuera de límites.
Existe un segundo caso de trama corta cuando CRC16 está habilitado. Tras extraer el campo de control, l2cap_check_fcs() resta dos a skb->len sin comprobarlo. Si quedan menos de dos bytes, la resta se desborda; skb_trim() deja el búfer sin cambios y la posterior carga de la FCS lee más allá del final lógico de la trama.
Leer descripción completaMostrar menos
Validar que la trama contiene tanto su campo de control como, cuando está habilitada, su FCS antes de acceder a cualquiera de ambos campos.
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.18 %
- Percentil entre todas las CVEs puntuadas
- 8
- 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 8 referencias
- https://git.kernel.org/stable/c/1fdbb2a712a9a162ee817c959740face80b3d929
- https://git.kernel.org/stable/c/3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70
- https://git.kernel.org/stable/c/4373ba79a267947e771c438507f7b103e30bdb21
- https://git.kernel.org/stable/c/6c78a213d9070b610c7f418af2c25b66180b7e37
- https://git.kernel.org/stable/c/8c7556c7cd17e073bbefdc4a9a4694a207544c37
- https://git.kernel.org/stable/c/965bd88ed4b4763cb765dd65885adcfa588c6b14
- https://git.kernel.org/stable/c/c6a288e6001bcce16553c3853e0f5a45eaaf85c7
- https://git.kernel.org/stable/c/f557274af7b94b6134692e6f26b880f1e34c15bf
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98457",
"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": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "4373ba79a267947e771c438507f7b103e30bdb21",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "965bd88ed4b4763cb765dd65885adcfa588c6b14",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "8c7556c7cd17e073bbefdc4a9a4694a207544c37",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "1fdbb2a712a9a162ee817c959740face80b3d929",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "c6a288e6001bcce16553c3853e0f5a45eaaf85c7",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "f557274af7b94b6134692e6f26b880f1e34c15bf",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "6c78a213d9070b610c7f418af2c25b66180b7e37",
"versionType": "git"
}
],
"programFiles": [
"net/bluetooth/l2cap_core.c"
],
"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": "5.10.271",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"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": [
"net/bluetooth/l2cap_core.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:16:56.110",
"references": [
{
"url": "https://git.kernel.org/stable/c/1fdbb2a712a9a162ee817c959740face80b3d929",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/4373ba79a267947e771c438507f7b103e30bdb21",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6c78a213d9070b610c7f418af2c25b66180b7e37",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8c7556c7cd17e073bbefdc4a9a4694a207544c37",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/965bd88ed4b4763cb765dd65885adcfa588c6b14",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c6a288e6001bcce16553c3853e0f5a45eaaf85c7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f557274af7b94b6134692e6f26b880f1e34c15bf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: validate frame length before control and FCS access\n\nl2cap_data_rcv() unpacks either a two-byte or four-byte control field\nwithout first ensuring that it is present. A short ERTM or streaming-mode\nframe can therefore cause an out-of-bounds read.\n\nThere is a second short-frame case when CRC16 is enabled. After the\ncontrol field is pulled, l2cap_check_fcs() subtracts two from skb->len\nwithout checking it. If fewer than two bytes remain, the subtraction\nwraps; skb_trim() leaves the buffer unchanged and the subsequent FCS\nload reads past the logical end of the frame.\n\nValidate that the frame contains both its control field and, when\nenabled, its FCS before either field is accessed."
}
],
"lastModified": "2026-10-19T10:18:55.100",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}