Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ab49886e3da73b6b35ece21006e191910427bb30 before ff3a4487ead475e27b43280b8ee3d8464fe280e1; affected ab49886e3da73b6b35ece21006e191910427bb30 before 78a63fb2f7d5630d1c1f2859a20d4e4226863b41; affected ab49886e3da73b6b35ece21006e191910427bb30 before ced48f55bac73f0822eae90509e51b42b4f646c8; affected ab49886e3da73b6b35ece21006e191910427bb30 before 70bcb678561f0fb58f33270fc73f12f3be72b878; affected ab49886e3da73b6b35ece21006e191910427bb30 before aef897c9d2dd0d9339167fb82b62beff68d076cb; affected ab49886e3da73b6b35ece21006e191910427bb30 before 8a3707653ab658e082ccd992e92594e01b09a3fc; affected ab49886e3da73b6b35ece21006e191910427bb30 before edfb1e094104a50f931553dc82ac59246569fd32; affected ab49886e3da73b6b35ece21006e191910427bb30 before 20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc |
| Linux / Linux | affected 3.15; unaffected 0 before 3.15; unaffected 5.10.258 through 5.10.*; unaffected 5.15.209 through 5.15.*; unaffected 6.1.175 through 6.1.*; unaffected 6.6.142 through 6.6.*; unaffected 6.12.92 through 6.12.*; unaffected 6.18.34 through 6.18.*; unaffected 7.0.11 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
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