CVE-2026-89951
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: fix stale receive device on merged fragments
Fragment reassembly reuses the skb from the highest-numbered buffered fragment as the merged packet. When that fragment was received on a hard interface which is deleted before the chain completes, the merged skb can re-enter the receive path with a stale skb->dev and skb_iif.
batadv_batman_skb_recv() passes such merged packets through the normal receive handlers again. DAT and bridge loop avoidance both derive the ARP header length from skb->dev, so they can dereference the freed net_device before the packet reaches the local mesh interface.
Leer descripción completaMostrar menos
Refresh the receive device metadata from the current receive device before running the packet handlers. This keeps internally reinjected merged fragments consistent with the normal receive path after hard interface teardown.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 8.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.41%
- Percentil entre todas las CVEs puntuadas: 33
- Fecha de la puntuación: 6/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).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1210Exploitation of Remote Serviceslateral movement75 % - Impacto principal
T1499.004Application or System Exploitationimpact65 % - Impacto secundario
T1565.002Transmitted Data Manipulationimpact60 %
Vulnerabilidad en kernel (servicios remotos) con AV:A accesible en red adyacente. DoS por dereference de memoria liberada y corrupción de datos en procesamiento de paquetes fragmentados.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
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
- https://git.kernel.org/stable/c/2dffc8c44b6e3347b3719c6419c07b4a18fea895
- https://git.kernel.org/stable/c/63d86250fa7cbe22451369bd1c0881dfc8190958
- https://git.kernel.org/stable/c/6df64825f8b199921120c685af2abca14b077331
- https://git.kernel.org/stable/c/a2c272da99c2077088083c14961cf2f1e4506995
- https://git.kernel.org/stable/c/ad46c907d7d9975a285c1e89a4adde652eaa93f5
- https://git.kernel.org/stable/c/e91d2cc7441d89a45bad73ad9789159c7441cb80
- https://git.kernel.org/stable/c/f4b4ae763b5d59319fad62a00c76676758e7dafa
- https://git.kernel.org/stable/c/f830c2dfc1431764db9256b3d5db1695fc9a7f56
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-89951",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Secondary",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "ADJACENT_NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.8
}
]
},
"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": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "63d86250fa7cbe22451369bd1c0881dfc8190958",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "f830c2dfc1431764db9256b3d5db1695fc9a7f56",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "f4b4ae763b5d59319fad62a00c76676758e7dafa",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "6df64825f8b199921120c685af2abca14b077331",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "a2c272da99c2077088083c14961cf2f1e4506995",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "e91d2cc7441d89a45bad73ad9789159c7441cb80",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "2dffc8c44b6e3347b3719c6419c07b4a18fea895",
"versionType": "git"
},
{
"status": "affected",
"version": "610bfc6bc99bc83680d190ebc69359a05fc7f605",
"lessThan": "ad46c907d7d9975a285c1e89a4adde652eaa93f5",
"versionType": "git"
}
],
"programFiles": [
"net/batman-adv/main.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.13"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.13",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.110",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.51",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.5",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/batman-adv/main.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-09-16T11:17:05.267",
"references": [
{
"url": "https://git.kernel.org/stable/c/2dffc8c44b6e3347b3719c6419c07b4a18fea895",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/63d86250fa7cbe22451369bd1c0881dfc8190958",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6df64825f8b199921120c685af2abca14b077331",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a2c272da99c2077088083c14961cf2f1e4506995",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ad46c907d7d9975a285c1e89a4adde652eaa93f5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e91d2cc7441d89a45bad73ad9789159c7441cb80",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f4b4ae763b5d59319fad62a00c76676758e7dafa",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f830c2dfc1431764db9256b3d5db1695fc9a7f56",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: fix stale receive device on merged fragments\n\nFragment reassembly reuses the skb from the highest-numbered buffered\nfragment as the merged packet. When that fragment was received on a hard\ninterface which is deleted before the chain completes, the merged skb can\nre-enter the receive path with a stale skb->dev and skb_iif.\n\nbatadv_batman_skb_recv() passes such merged packets through the normal\nreceive handlers again. DAT and bridge loop avoidance both derive the ARP\nheader length from skb->dev, so they can dereference the freed net_device\nbefore the packet reaches the local mesh interface.\n\nRefresh the receive device metadata from the current receive device before\nrunning the packet handlers. This keeps internally reinjected merged\nfragments consistent with the normal receive path after hard interface\nteardown."
}
],
"lastModified": "2026-09-16T15:18:19.990",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}