Description
In the Linux kernel, the following vulnerability has been resolved: batman-adv: bla: only purge non-released claims When batadv_bla_purge_claims() goes through the list of claims, it is only traversing the hash list with an rcu_read_lock(). Due to a potential parallel batadv_claim_put(), it can happen that it encounters a claim which was actually in the process of being released+freed by batadv_claim_release(). In this case, backbone_gw is set to NULL before the delayed RCU kfree is started. Calling batadv_bla_claim_get_backbone_gw() is then no longer allowed because it would cause a NULL-ptr derefence. To avoid this, only claims with a valid reference counter must be purged. All others are already taken care of.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
23721387c409087fd3b97e274f34d3ddc0970b74 to < a9f58d5e3261f3deeae69ec1e237f38ef3ff5cbeaffected23721387c409087fd3b97e274f34d3ddc0970b74 to < 6725c523a35eeca611ff37e7d4a8712fae92aefdaffected23721387c409087fd3b97e274f34d3ddc0970b74 to < afb5436f6028fd68f408f189230fbaa19c910d72affected23721387c409087fd3b97e274f34d3ddc0970b74 to < 7b8fbcee3184d848b5aee085ca16d0cf05c9b641affected23721387c409087fd3b97e274f34d3ddc0970b74 to < 7b7ebb7222a5524ce58e48cc9c6d688320ea6cfeaffected23721387c409087fd3b97e274f34d3ddc0970b74 to < b65365d2b1e6095c538d49baeb140dd1c166c1b3affected23721387c409087fd3b97e274f34d3ddc0970b74 to < ab3dbd07a809a8eb30c7ddfab9ac886ed30dce8daffected23721387c409087fd3b97e274f34d3ddc0970b74 to < cf6b604011591865ae39ac82de8978c1120d17afaffected
Linux Linux
Default version status: affected
3.5affected0 to < 3.5unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.140 to ≤ 6.6.*unaffected6.12.90 to ≤ 6.12.*unaffected6.18.32 to ≤ 6.18.*unaffected7.0.9 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a9f58d5e3261f3deeae69ec1e237f38ef3ff5cbe ↗
- https://git.kernel.org/stable/c/6725c523a35eeca611ff37e7d4a8712fae92aefd ↗
- https://git.kernel.org/stable/c/afb5436f6028fd68f408f189230fbaa19c910d72 ↗
- https://git.kernel.org/stable/c/7b8fbcee3184d848b5aee085ca16d0cf05c9b641 ↗
- https://git.kernel.org/stable/c/7b7ebb7222a5524ce58e48cc9c6d688320ea6cfe ↗
- https://git.kernel.org/stable/c/b65365d2b1e6095c538d49baeb140dd1c166c1b3 ↗
- https://git.kernel.org/stable/c/ab3dbd07a809a8eb30c7ddfab9ac886ed30dce8d ↗
- https://git.kernel.org/stable/c/cf6b604011591865ae39ac82de8978c1120d17af ↗