CVE-2026-89948
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: bla: fix freeing of claims on meshif deletion
When the mesh interface is getting deleted, then batadv_bla_del_backbone_claims() (via batadv_bla_purge_backbone_gw()) could make sure that all claims gets removed. But this function is only executed when bat_priv->bla.claim_hash is not NULL. And since batadv_bla_free() is always setting it to NULL before it is (indirectly) called, it was never actually executed.
But the batadv_bla_purge_claims() -> batadv_handle_unclaim() is at the moment too fragile because the BLA code is not handling the rehashing in batadv_bla_update_orig_address().
Leer descripción completaMostrar menos
The stored backbone address doesn't have to be the one actually used for the hash bucket selection during the initial adding of the backbone. The batadv_handle_unclaim() can therefore fail to find the respective backbone for the unclaim and then stop the deletion.
But the actual backbone_gw object is not needed for the unclaim because all relevant information is always provided by the caller. And the check for the existence of the backbone_gw doesn't provide any additional security check for the deletion of a claim.
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.21%
- Percentil entre todas las CVEs puntuadas: 10
- Fecha de la puntuación: 4/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
- https://git.kernel.org/stable/c/76aedcde5a2489cc971d4d1e396e784a49565e96
- https://git.kernel.org/stable/c/844a95a734f178d56c7acce14c5cce2cecff7e1a
- https://git.kernel.org/stable/c/871acdf97f64cee8398f72b88b89e8b4f4816dbe
- https://git.kernel.org/stable/c/8d128c932bced74e3b1625ba3d7c78ef122a88a7
- https://git.kernel.org/stable/c/9a0c47023d3254048a1588534755d4476bcc3abc
- https://git.kernel.org/stable/c/aacffa780a37e06cd5a13d33740a6e96c3a67e6c
- https://git.kernel.org/stable/c/baeb1a28fd8e2f68193650d3664a8cd1adfd85c6
- https://git.kernel.org/stable/c/f50edb69082a8ba990cc23d642089829f99afe6a
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-89948",
"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": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "844a95a734f178d56c7acce14c5cce2cecff7e1a",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "baeb1a28fd8e2f68193650d3664a8cd1adfd85c6",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "aacffa780a37e06cd5a13d33740a6e96c3a67e6c",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "76aedcde5a2489cc971d4d1e396e784a49565e96",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "f50edb69082a8ba990cc23d642089829f99afe6a",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "871acdf97f64cee8398f72b88b89e8b4f4816dbe",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "9a0c47023d3254048a1588534755d4476bcc3abc",
"versionType": "git"
},
{
"status": "affected",
"version": "23721387c409087fd3b97e274f34d3ddc0970b74",
"lessThan": "8d128c932bced74e3b1625ba3d7c78ef122a88a7",
"versionType": "git"
}
],
"programFiles": [
"net/batman-adv/bridge_loop_avoidance.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.5"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.5",
"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/bridge_loop_avoidance.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-09-16T11:17:04.890",
"references": [
{
"url": "https://git.kernel.org/stable/c/76aedcde5a2489cc971d4d1e396e784a49565e96",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/844a95a734f178d56c7acce14c5cce2cecff7e1a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/871acdf97f64cee8398f72b88b89e8b4f4816dbe",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8d128c932bced74e3b1625ba3d7c78ef122a88a7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9a0c47023d3254048a1588534755d4476bcc3abc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aacffa780a37e06cd5a13d33740a6e96c3a67e6c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/baeb1a28fd8e2f68193650d3664a8cd1adfd85c6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f50edb69082a8ba990cc23d642089829f99afe6a",
"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: bla: fix freeing of claims on meshif deletion\n\nWhen the mesh interface is getting deleted, then\nbatadv_bla_del_backbone_claims() (via batadv_bla_purge_backbone_gw()) could\nmake sure that all claims gets removed. But this function is only executed\nwhen bat_priv->bla.claim_hash is not NULL. And since batadv_bla_free() is\nalways setting it to NULL before it is (indirectly) called, it was never\nactually executed.\n\nBut the batadv_bla_purge_claims() -> batadv_handle_unclaim() is at the\nmoment too fragile because the BLA code is not handling the rehashing in\nbatadv_bla_update_orig_address(). The stored backbone address doesn't have\nto be the one actually used for the hash bucket selection during the\ninitial adding of the backbone. The batadv_handle_unclaim() can therefore\nfail to find the respective backbone for the unclaim and then stop the\ndeletion.\n\nBut the actual backbone_gw object is not needed for the unclaim because all\nrelevant information is always provided by the caller. And the check for\nthe existence of the backbone_gw doesn't provide any additional security\ncheck for the deletion of a claim."
}
],
"lastModified": "2026-09-16T11:17:04.890",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}