In the Linux kernel, the following vulnerability has been resolved:
ipv6: Fix soft lockups in fib6_select_path under high next hop churn
Soft lockups have been observed on a cluster of Linux-based edge routers located in a highly dynamic environment. Using the `bird` service, these routers continuously update BGP-advertised routes due to frequently changing nexthop destinations, while also managing significant IPv6 traffic. The lockups occur during the traversal of the multipath circular linked-list in the `fib6_select_path` function, particularly while iterating through the siblings in the list. The issue typically arises when the nodes of the linked list are unexpectedly deleted concurrently on a different core—indicated by their 'next' and 'previous' elements pointing back to the node itself and their reference count dropping to zero. This results in an infinite loop, leading to a soft lockup that triggers a system panic via the watchdog timer.
Apply RCU primitives in the problematic code sections to resolve the issue. Where necessary, update the references to fib6_siblings to annotate or use the RCU APIs.
Include a test script that reproduces the issue. The script periodically updates the routing table while generating a heavy load of outgoing IPv6 traffic through multiple iperf3 clients. It consistently induces infinite soft lockups within a couple of minutes.
Kernel log:
0 [ffffbd13003e8d30] machine_kexec at ffffffff8ceaf3eb 1 [ffffbd13003e8d90] __crash_kexec at ffffffff8d0120e3 2 [ffffbd13003e8e58] panic at ffffffff8cef65d4 3 [ffffbd13003e8ed8] watchdog_timer_fn at ffffffff8d05cb03 4 [ffffbd13003e8f08] __hrtimer_run_queues at ffffffff8cfec62f 5 [ffffbd13003e8f70] hrtimer_interrupt at ffffffff8cfed756 6 [ffffbd13003e8fd0] __sysvec_apic_timer_interrupt at ffffffff8cea01af 7 [ffffbd13003e8ff0] sysvec_apic_timer_interrupt at ffffffff8df1b83d -- <IRQ stack> -- 8 [ffffbd13003d3708] asm_sysvec_apic_timer_interrupt at ffffffff8e000ecb [exception RIP: fib6_select_path+299] RIP: ffffffff8ddafe7b RSP: ffffbd13003d37b8 RFLAGS: 00000287 RAX: ffff975850b43600 RBX: ffff975850b40200 RCX: 0000000000000000 RDX: 000000003fffffff RSI: 0000000051d383e4 RDI: ffff975850b43618 RBP: ffffbd13003d3800 R8: 0000000000000000 R9: ffff975850b40200 R10: 0000000000000000 R11: 0000000000000000 R12: ffffbd13003d3830 R13: ffff975850b436a8 R14: ffff975850b43600 R15: 0000000000000007 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 9 [ffffbd13003d3808] ip6_pol_route at ffffffff8ddb030c 10 [ffffbd13003d3888] ip6_pol_route_input at ffffffff8ddb068c 11 [ffffbd13003d3898] fib6_rule_lookup at ffffffff8ddf02b5 12 [ffffbd13003d3928] ip6_route_input at ffffffff8ddb0f47 13 [ffffbd13003d3a18] ip6_rcv_finish_core.constprop.0 at ffffffff8dd950d0 14 [ffffbd13003d3a30] ip6_list_rcv_finish.constprop.0 at ffffffff8dd96274 15 [ffffbd13003d3a98] ip6_sublist_rcv at ffffffff8dd96474 16 [ffffbd13003d3af8] ipv6_list_rcv at ffffffff8dd96615 17 [ffffbd13003d3b60] __netif_receive_skb_list_core at ffffffff8dc16fec 18 [ffffbd13003d3be0] netif_receive_skb_list_internal at ffffffff8dc176b3 19 [ffffbd13003d3c50] napi_gro_receive at ffffffff8dc565b9 20 [ffffbd13003d3c80] ice_receive_skb at ffffffffc087e4f5 [ice] 21 [ffffbd13003d3c90] ice_clean_rx_irq at ffffffffc0881b80 [ice] 22 [ffffbd13003d3d20] ice_napi_poll at ffffffffc088232f [ice] 23 [ffffbd13003d3d80] __napi_poll at ffffffff8dc18000 24 [ffffbd13003d3db8] net_rx_action at ffffffff8dc18581 25 [ffffbd13003d3e40] __do_softirq at ffffffff8df352e9 26 [ffffbd13003d3eb0] run_ksoftirqd at ffffffff8ceffe47 27 [ffffbd13003d3ec0] smpboot_thread_fn at ffffffff8cf36a30 28 [ffffbd13003d3ee8] kthread at ffffffff8cf2b39f 29 [ffffbd13003d3f28] ret_from_fork at ffffffff8ce5fa64 30 [ffffbd13003d3f50] ret_from_fork_asm at ffffffff8ce03cbb
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-headersUpgrade kernel-libbpf-develUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-modules-extra-commonUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade kernel-develUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-libbpfUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-livepatch-6.1.128-136.201Upgrade python3-perfUpgrade kernel-modules-extra | Mar 27, 2025 | Dec 28, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Dec 28, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel | Apr 11, 2025 | Dec 28, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools | Mar 19, 2025 | Dec 28, 2024 |
| Huawei Euleros 2_0_sp13 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-tools | Apr 1, 2025 | Dec 28, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Dec 28, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-aws-lts-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-gcp-64kUpgrade linux-image-azureUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1027-azureUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-awsUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-raspiUpgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-gkeopUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-genericUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-oem-22.04aUpgrade linux-image-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-gcpUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1011-oracle | Feb 20, 2025 | Dec 28, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Feb 3, 2025 | Dec 28, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub