Description
In the Linux kernel, the following vulnerability has been resolved: net: bridge: stop fast-leave after deleting a port group br_multicast_leave_group() iterates mp->ports with pp = &p->next in its fast-leave path. After br_multicast_del_pg() removes p, continuing the loop advances pp through the deleted entry. If multicast-to-unicast was enabled, the bridge can hold multiple port groups for the same port and group with different source MAC addresses. Once multicast-to-unicast is disabled, br_port_group_equal() matches those entries by port only. A fast leave can then delete one entry and continue from its stale next pointer, leaving mp->ports pointing at a deleted port group. Fast leave only needs to remove one matching port group. Break after br_multicast_del_pg() so the loop stops before dereferencing the removed entry.
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
6db6f0eae6052b70885562e1733896647ec1d807 to < d6c32e2e25a9a06ba021030e26b6d602a277eb72affected6db6f0eae6052b70885562e1733896647ec1d807 to < 482bcb85139addb4e8ac8ed10baeda3e0aad4031affected6db6f0eae6052b70885562e1733896647ec1d807 to < 1a109cc9890d017c41d77e6c82da739579c49f0baffected6db6f0eae6052b70885562e1733896647ec1d807 to < 159ad90cb929c033308bb39a2c5f8fbf393b77aaaffected6db6f0eae6052b70885562e1733896647ec1d807 to < 4695430e8132420bf8de94da3eb36a6cf35fde6baffected6db6f0eae6052b70885562e1733896647ec1d807 to < 0309ebbc570000ea0df11c06b69798e5860c5f6faffected6db6f0eae6052b70885562e1733896647ec1d807 to < 4c57056ca6aace2e9f94ae9298bf49ef6b0c95e4affected6db6f0eae6052b70885562e1733896647ec1d807 to < a39789f211b8a4125f0c70e05b30cf715f4f187daffected
Linux Linux
Default version status: affected
4.11affected0 to < 4.11unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d6c32e2e25a9a06ba021030e26b6d602a277eb72 ↗
- https://git.kernel.org/stable/c/482bcb85139addb4e8ac8ed10baeda3e0aad4031 ↗
- https://git.kernel.org/stable/c/1a109cc9890d017c41d77e6c82da739579c49f0b ↗
- https://git.kernel.org/stable/c/159ad90cb929c033308bb39a2c5f8fbf393b77aa ↗
- https://git.kernel.org/stable/c/4695430e8132420bf8de94da3eb36a6cf35fde6b ↗
- https://git.kernel.org/stable/c/0309ebbc570000ea0df11c06b69798e5860c5f6f ↗
- https://git.kernel.org/stable/c/4c57056ca6aace2e9f94ae9298bf49ef6b0c95e4 ↗
- https://git.kernel.org/stable/c/a39789f211b8a4125f0c70e05b30cf715f4f187d ↗