{"id":"CVE-2026-89948","revision":"2c5a4e4d4f474faba6d74c37c7933cc3","records":[{"revision":"2c5a4e4d4f474faba6d74c37c7933cc3","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-89948","aliases":[],"title":"batman-adv: bla: fix freeing of claims on meshif deletion","description":"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.","state":0,"publishedAt":"2026-09-16T10:32:34.089+00:00","modifiedAt":"2026-10-19T08:55:22.451+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/batman-adv/bridge_loop_avoidance.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"844a95a734f178d56c7acce14c5cce2cecff7e1a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"baeb1a28fd8e2f68193650d3664a8cd1adfd85c6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"aacffa780a37e06cd5a13d33740a6e96c3a67e6c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"76aedcde5a2489cc971d4d1e396e784a49565e96\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"f50edb69082a8ba990cc23d642089829f99afe6a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"871acdf97f64cee8398f72b88b89e8b4f4816dbe\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"9a0c47023d3254048a1588534755d4476bcc3abc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"23721387c409087fd3b97e274f34d3ddc0970b74\",\n                            \"lessThan\": \"8d128c932bced74e3b1625ba3d7c78ef122a88a7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/batman-adv/bridge_loop_avoidance.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.5\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.5\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.270\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.221\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.110\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.51\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.5\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/844a95a734f178d56c7acce14c5cce2cecff7e1a","https://git.kernel.org/stable/c/baeb1a28fd8e2f68193650d3664a8cd1adfd85c6","https://git.kernel.org/stable/c/aacffa780a37e06cd5a13d33740a6e96c3a67e6c","https://git.kernel.org/stable/c/76aedcde5a2489cc971d4d1e396e784a49565e96","https://git.kernel.org/stable/c/f50edb69082a8ba990cc23d642089829f99afe6a","https://git.kernel.org/stable/c/871acdf97f64cee8398f72b88b89e8b4f4816dbe","https://git.kernel.org/stable/c/9a0c47023d3254048a1588534755d4476bcc3abc","https://git.kernel.org/stable/c/8d128c932bced74e3b1625ba3d7c78ef122a88a7"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89948","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-89948","identifiers":["CVE-2026-89948"]},"retained":false,"historicalAffected":[]}],"coverage":[]}