Description
In the Linux kernel, the following vulnerability has been resolved: batman-adv: mcast: fix use-after-free in orig_node RCU release batadv_mcast_purge_orig() removes entries from RCU-protected hlists but does not wait for an RCU grace period before returning. Concurrent RCU readers may still accesses references to those entries at the point of removal. RCU-protected readers trying to operate on entries like orig->mcast_want_all_ipv6_node will then access already freed memory. Fix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(), just before the call_rcu() invocation. This ensures RCU readers that were active at purge time have drained before the orig_node memory is reclaimed.
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
ab49886e3da73b6b35ece21006e191910427bb30 to < ff3a4487ead475e27b43280b8ee3d8464fe280e1affectedab49886e3da73b6b35ece21006e191910427bb30 to < 78a63fb2f7d5630d1c1f2859a20d4e4226863b41affectedab49886e3da73b6b35ece21006e191910427bb30 to < ced48f55bac73f0822eae90509e51b42b4f646c8affectedab49886e3da73b6b35ece21006e191910427bb30 to < 70bcb678561f0fb58f33270fc73f12f3be72b878affectedab49886e3da73b6b35ece21006e191910427bb30 to < aef897c9d2dd0d9339167fb82b62beff68d076cbaffectedab49886e3da73b6b35ece21006e191910427bb30 to < 8a3707653ab658e082ccd992e92594e01b09a3fcaffectedab49886e3da73b6b35ece21006e191910427bb30 to < edfb1e094104a50f931553dc82ac59246569fd32affectedab49886e3da73b6b35ece21006e191910427bb30 to < 20c2d6a20ca936f5aaa6dd40f73f262ac45c87ccaffected
Linux Linux
Default version status: affected
3.15affected0 to < 3.15unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ff3a4487ead475e27b43280b8ee3d8464fe280e1 ↗
- https://git.kernel.org/stable/c/78a63fb2f7d5630d1c1f2859a20d4e4226863b41 ↗
- https://git.kernel.org/stable/c/ced48f55bac73f0822eae90509e51b42b4f646c8 ↗
- https://git.kernel.org/stable/c/70bcb678561f0fb58f33270fc73f12f3be72b878 ↗
- https://git.kernel.org/stable/c/aef897c9d2dd0d9339167fb82b62beff68d076cb ↗
- https://git.kernel.org/stable/c/8a3707653ab658e082ccd992e92594e01b09a3fc ↗
- https://git.kernel.org/stable/c/edfb1e094104a50f931553dc82ac59246569fd32 ↗
- https://git.kernel.org/stable/c/20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc ↗