CVE-2023-52578
Description
In the Linux kernel, the following vulnerability has been resolved: net: bridge: use DEV_STATS_INC() syzbot/KCSAN reported data-races in br_handle_frame_finish() [1] This function can run from multiple cpus without mutual exclusion. Adopt SMP safe DEV_STATS_INC() to update dev->stats fields. Handles updates to dev->stats.tx_dropped while we are at it. [1] BUG: KCSAN: data-race in br_handle_frame_finish / br_handle_frame_finish read-write to 0xffff8881374b2178 of 8 bytes by interrupt on cpu 1: br_handle_frame_finish+0xd4f/0xef0 net/bridge/br_input.c:189 br_nf_hook_thresh+0x1ed/0x220 br_nf_pre_routing_finish_ipv6+0x50f/0x540 NF_HOOK include/linux/netfilter.h:304 [inline] br_nf_pre_routing_ipv6+0x1e3/0x2a0 net/bridge/br_netfilter_ipv6.c:178 br_nf_pre_routing+0x526/0xba0 net/bridge/br_netfilter_hooks.c:508 nf_hook_entry_hookfn include/linux/netfilter.h:144 [inline] nf_hook_bridge_pre net/bridge/br_input.c:272 [inline] br_handle_frame+0x4c9/0x940 net/bridge/br_input.c:417 __netif_receive_skb_core+0xa8a/0x21e0 net/core/dev.c:5417 __netif_receive_skb_one_core net/core/dev.c:5521 [inline] __netif_receive_skb+0x57/0x1b0 net/core/dev.c:5637 process_backlog+0x21f/0x380 net/core/dev.c:5965 __napi_poll+0x60/0x3b0 net/core/dev.c:6527 napi_poll net/core/dev.c:6594 [inline] net_rx_action+0x32b/0x750 net/core/dev.c:6727 __do_softirq+0xc1/0x265 kernel/softirq.c:553 run_ksoftirqd+0x17/0x20 kernel/softirq.c:921 smpboot_thread_fn+0x30a/0x4a0 kernel/smpboot.c:164 kthread+0x1d7/0x210 kernel/kthread.c:388 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 read-write to 0xffff8881374b2178 of 8 bytes by interrupt on cpu 0: br_handle_frame_finish+0xd4f/0xef0 net/bridge/br_input.c:189 br_nf_hook_thresh+0x1ed/0x220 br_nf_pre_routing_finish_ipv6+0x50f/0x540 NF_HOOK include/linux/netfilter.h:304 [inline] br_nf_pre_routing_ipv6+0x1e3/0x2a0 net/bridge/br_netfilter_ipv6.c:178 br_nf_pre_routing+0x526/0xba0 net/bridge/br_netfilter_hooks.c:508 nf_hook_entry_hookfn include/linux/netfilter.h:144 [inline] nf_hook_bridge_pre net/bridge/br_input.c:272 [inline] br_handle_frame+0x4c9/0x940 net/bridge/br_input.c:417 __netif_receive_skb_core+0xa8a/0x21e0 net/core/dev.c:5417 __netif_receive_skb_one_core net/core/dev.c:5521 [inline] __netif_receive_skb+0x57/0x1b0 net/core/dev.c:5637 process_backlog+0x21f/0x380 net/core/dev.c:5965 __napi_poll+0x60/0x3b0 net/core/dev.c:6527 napi_poll net/core/dev.c:6594 [inline] net_rx_action+0x32b/0x750 net/core/dev.c:6727 __do_softirq+0xc1/0x265 kernel/softirq.c:553 do_softirq+0x5e/0x90 kernel/softirq.c:454 __local_bh_enable_ip+0x64/0x70 kernel/softirq.c:381 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline] _raw_spin_unlock_bh+0x36/0x40 kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] batadv_tt_local_purge+0x1a8/0x1f0 net/batman-adv/translation-table.c:1356 batadv_tt_purge+0x2b/0x630 net/batman-adv/translation-table.c:3560 process_one_work kernel/workqueue.c:2630 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2703 worker_thread+0x525/0x730 kernel/workqueue.c:2784 kthread+0x1d7/0x210 kernel/kthread.c:388 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 value changed: 0x00000000000d7190 -> 0x00000000000d7191 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 14848 Comm: kworker/u4:11 Not tainted 6.6.0-rc1-syzkaller-00236-gad8a69f361b9 #0
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: alma — https://errata.almalinux.org/8/ALSA-2024-3627.html
Vendor advisory: alma — https://access.redhat.com/errata/RHSA-2024:3627
Vendor advisory: alma — https://errata.almalinux.org/9/ALSA-2024-2394.html
Vendor advisory: alma — https://bugzilla.redhat.com/2270883
Vendor advisory: alma — https://bugzilla.redhat.com/2270118
Vendor advisory: alma — https://bugzilla.redhat.com/2269217
Vendor advisory: alma — https://bugzilla.redhat.com/2269189
Vendor advisory: alma — https://bugzilla.redhat.com/2267795
Vendor advisory: alma — https://bugzilla.redhat.com/2267788
Vendor advisory: alma — https://bugzilla.redhat.com/2267761
Vendor advisory: alma — https://bugzilla.redhat.com/2267760
Vendor advisory: alma — https://bugzilla.redhat.com/2267750
Vendor advisory: alma — https://bugzilla.redhat.com/2267695
Vendor advisory: alma — https://bugzilla.redhat.com/2267041
Vendor advisory: alma — https://bugzilla.redhat.com/2265653
Vendor advisory: alma — https://bugzilla.redhat.com/2265645
Vendor advisory: alma — https://bugzilla.redhat.com/2265520
Vendor advisory: alma — https://bugzilla.redhat.com/2265519
Vendor advisory: alma — https://bugzilla.redhat.com/2265518
Vendor advisory: alma — https://bugzilla.redhat.com/2265517
Vendor advisory: alma — https://bugzilla.redhat.com/2265285
Vendor advisory: alma — https://bugzilla.redhat.com/2262127
Vendor advisory: alma — https://bugzilla.redhat.com/2262126
Vendor advisory: alma — https://bugzilla.redhat.com/2260005
Vendor advisory: alma — https://bugzilla.redhat.com/2258518
Vendor advisory: alma — https://bugzilla.redhat.com/2258013
Vendor advisory: alma — https://bugzilla.redhat.com/2257682
Vendor advisory: alma — https://bugzilla.redhat.com/2256822
Vendor advisory: alma — https://bugzilla.redhat.com/2256490
Vendor advisory: alma — https://bugzilla.redhat.com/2255498
Vendor advisory: alma — https://bugzilla.redhat.com/2255283
Vendor advisory: alma — https://bugzilla.redhat.com/2254982
Vendor advisory: alma — https://bugzilla.redhat.com/2254961
Vendor advisory: alma — https://bugzilla.redhat.com/2253632
Vendor advisory: alma — https://bugzilla.redhat.com/2253034
Vendor advisory: alma — https://bugzilla.redhat.com/2252731
Vendor advisory: alma — https://bugzilla.redhat.com/2250043
Vendor advisory: alma — https://bugzilla.redhat.com/2246980
Vendor advisory: alma — https://bugzilla.redhat.com/2244720
Vendor advisory: alma — https://bugzilla.redhat.com/2239848
Vendor advisory: alma — https://bugzilla.redhat.com/2239845
Vendor advisory: alma — https://bugzilla.redhat.com/2231410
Vendor advisory: alma — https://bugzilla.redhat.com/2226788
Vendor advisory: alma — https://bugzilla.redhat.com/2226787
Vendor advisory: alma — https://bugzilla.redhat.com/2226777
Vendor advisory: alma — https://bugzilla.redhat.com/2221702
Vendor advisory: alma — https://bugzilla.redhat.com/2221463
Vendor advisory: alma — https://bugzilla.redhat.com/2221039
Vendor advisory: alma — https://bugzilla.redhat.com/2219359
Vendor advisory: alma — https://bugzilla.redhat.com/2218332
Vendor advisory: alma — https://bugzilla.redhat.com/2213132
Vendor advisory: alma — https://bugzilla.redhat.com/2210024
Vendor advisory: alma — https://bugzilla.redhat.com/2188102
Vendor advisory: alma — https://bugzilla.redhat.com/2185519
Vendor advisory: alma — https://bugzilla.redhat.com/2177759
Vendor advisory: alma — https://bugzilla.redhat.com/2151959
Vendor advisory: alma — https://bugzilla.redhat.com/2133452
Vendor advisory: alma — https://bugzilla.redhat.com/2049700
Vendor advisory: alma — https://bugzilla.redhat.com/1918601
Vendor advisory: alma — https://errata.almalinux.org/8/ALSA-2024-3618.html
Vendor advisory: alma — https://bugzilla.redhat.com/2278537
Vendor advisory: alma — https://bugzilla.redhat.com/2278431
Vendor advisory: alma — https://bugzilla.redhat.com/2278417
Vendor advisory: alma — https://bugzilla.redhat.com/2278409
Vendor advisory: alma — https://bugzilla.redhat.com/2278398
Vendor advisory: alma — https://bugzilla.redhat.com/2278356
Vendor advisory: alma — https://bugzilla.redhat.com/2278314
Vendor advisory: alma — https://bugzilla.redhat.com/2278268
Vendor advisory: alma — https://bugzilla.redhat.com/2278240
Vendor advisory: alma — https://bugzilla.redhat.com/2278237
Vendor advisory: alma — https://bugzilla.redhat.com/2278169
Vendor advisory: alma — https://bugzilla.redhat.com/2275777
Vendor advisory: alma — https://bugzilla.redhat.com/2275707
Vendor advisory: alma — https://bugzilla.redhat.com/2275666
Vendor advisory: alma — https://bugzilla.redhat.com/2275655
Vendor advisory: alma — https://bugzilla.redhat.com/2275645
Vendor advisory: alma — https://bugzilla.redhat.com/2274624
Vendor advisory: alma — https://bugzilla.redhat.com/2273262
Vendor advisory: alma — https://bugzilla.redhat.com/2273260
Vendor advisory: alma — https://bugzilla.redhat.com/2273223
Vendor advisory: alma — https://bugzilla.redhat.com/2273094
Vendor advisory: alma — https://bugzilla.redhat.com/2273092
Vendor advisory: alma — https://bugzilla.redhat.com/2272791
Vendor advisory: alma — https://bugzilla.redhat.com/2272780
Vendor advisory: alma — https://bugzilla.redhat.com/2271476
Vendor advisory: alma — https://bugzilla.redhat.com/2271469
Vendor advisory: alma — https://bugzilla.redhat.com/2270881
Vendor advisory: alma — https://bugzilla.redhat.com/2270879
Vendor advisory: alma — https://bugzilla.redhat.com/2270080
Vendor advisory: alma — https://bugzilla.redhat.com/2269856
Vendor advisory: alma — https://bugzilla.redhat.com/2269213
Vendor advisory: alma — https://bugzilla.redhat.com/2268317
Vendor advisory: alma — https://bugzilla.redhat.com/2268315
Vendor advisory: alma — https://bugzilla.redhat.com/2268309
Vendor advisory: alma — https://bugzilla.redhat.com/2268293
Vendor advisory: alma — https://bugzilla.redhat.com/2268291
Vendor advisory: alma — https://bugzilla.redhat.com/2267804
Vendor advisory: alma — https://bugzilla.redhat.com/2267797
Vendor advisory: alma — https://bugzilla.redhat.com/2267789
Vendor advisory: alma — https://bugzilla.redhat.com/2267758
Vendor advisory: alma — https://bugzilla.redhat.com/2267724
Vendor advisory: alma — https://bugzilla.redhat.com/2267705
Vendor advisory: alma — https://bugzilla.redhat.com/2267509
Vendor advisory: alma — https://bugzilla.redhat.com/2267355
Vendor advisory: alma — https://bugzilla.redhat.com/2267185
Vendor advisory: alma — https://bugzilla.redhat.com/2267038
Vendor advisory: alma — https://bugzilla.redhat.com/2266841
Vendor advisory: alma — https://bugzilla.redhat.com/2266746
Vendor advisory: alma — https://bugzilla.redhat.com/2266446
Vendor advisory: alma — https://bugzilla.redhat.com/2266296
Vendor advisory: alma — https://bugzilla.redhat.com/2265833
Vendor advisory: alma — https://bugzilla.redhat.com/2265654
Vendor advisory: alma — https://bugzilla.redhat.com/2265646
Vendor advisory: alma — https://bugzilla.redhat.com/2265271
Vendor advisory: alma — https://bugzilla.redhat.com/2263875
Vendor advisory: alma — https://bugzilla.redhat.com/2257406
Vendor advisory: alma — https://bugzilla.redhat.com/2250843
Vendor advisory: alma — https://access.redhat.com/errata/RHSA-2024:3618
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2023-52578
Vendor advisory: suse — https://www.suse.com/security/cve/CVE-2023-52578.html
Vendor advisory: rocky — https://errata.rockylinux.org/RLSA-2024:3618
Vendor advisory: rocky — https://errata.rockylinux.org/RLSA-2024:3627
Vendor advisory: redhat — https://access.redhat.com/errata/RHSA-2024:2394
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| rhel | 9 | fixed | |
| rocky | 8 | fixed | |
| sles | affected | | |
| debian | bookworm | fixed | 6.1.64-1 |
| debian | bullseye | fixed | 5.10.205-1 |
| debian | forky | fixed | 6.5.6-1 |
| debian | sid | fixed | 6.5.6-1 |
| debian | trixie | fixed | 6.5.6-1 |
| almalinux | 8 | fixed | kernel-abi-stablelists-4.18.0-553.5.1.el8_10.noarch.rpm |
| almalinux | 9 | fixed | kernel-doc-5.14.0-427.13.1.el9_4.noarch.rpm |
References
- https://access.redhat.com/errata/RHSA-2024:2394
- https://errata.rockylinux.org/RLSA-2024:3627
- https://errata.rockylinux.org/RLSA-2024:3618
- https://www.suse.com/security/cve/CVE-2023-52578.html
- https://security-tracker.debian.org/tracker/CVE-2023-52578
- https://access.redhat.com/errata/RHSA-2024:3618
- https://bugzilla.redhat.com/2250843
- https://bugzilla.redhat.com/2257406
- https://bugzilla.redhat.com/2263875
- https://bugzilla.redhat.com/2265271
- https://bugzilla.redhat.com/2265646
- https://bugzilla.redhat.com/2265654
- https://bugzilla.redhat.com/2265833
- https://bugzilla.redhat.com/2266296
- https://bugzilla.redhat.com/2266446
- https://bugzilla.redhat.com/2266746
- https://bugzilla.redhat.com/2266841
- https://bugzilla.redhat.com/2267038
- https://bugzilla.redhat.com/2267185
- https://bugzilla.redhat.com/2267355
- https://bugzilla.redhat.com/2267509
- https://bugzilla.redhat.com/2267705
- https://bugzilla.redhat.com/2267724
- https://bugzilla.redhat.com/2267758
- https://bugzilla.redhat.com/2267789
Verify integrity in audit chain (admin only). AS-IS.