In the Linux kernel, the following vulnerability has been resolved:
batman-adv: Drop unmanaged ELP metric worker
The ELP worker needs to calculate new metric values for all neighbors "reachable" over an interface. Some of the used metric sources require locks which might need to sleep. This sleep is incompatible with the RCU list iterator used for the recorded neighbors. The initial approach to work around of this problem was to queue another work item per neighbor and then run this in a new context.
Even when this solved the RCU vs might_sleep() conflict, it has a major problems: Nothing was stopping the work item in case it is not needed anymore - for example because one of the related interfaces was removed or the batman-adv module was unloaded - resulting in potential invalid memory accesses.
Directly canceling the metric worker also has various problems:
* cancel_work_sync for a to-be-deactivated interface is called with rtnl_lock held. But the code in the ELP metric worker also tries to use rtnl_lock() - which will never return in this case. This also means that cancel_work_sync would never return because it is waiting for the worker to finish. * iterating over the neighbor list for the to-be-deactivated interface is currently done using the RCU specific methods. Which means that it is possible to miss items when iterating over it without the associated spinlock - a behaviour which is acceptable for a periodic metric check but not for a cleanup routine (which must "stop" all still running workers)
The better approch is to get rid of the per interface neighbor metric worker and handle everything in the interface worker. The original problems are solved by:
* creating a list of neighbors which require new metric information inside the RCU protected context, gathering the metric according to the new list outside the RCU protected context * only use rcu_trylock inside metric gathering code to avoid a deadlock when the cancel_delayed_work_sync is called in the interface removal code (which is called with the rtnl_lock held)
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | Mar 17, 2025 | Feb 27, 2025 |
| Suse | — | Upgrade kernel-default-base-rebuildUpgrade kselftests-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-develUpgrade dtb-amazonUpgrade kernel-docs-htmlUpgrade dtb-renesasUpgrade kernel-rt_debugUpgrade dtb-exynosUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-default-livepatch-develUpgrade dtb-appleUpgrade kernel-source-azureUpgrade kernel-azureUpgrade kernel-sourceUpgrade kernel-azure-optionalUpgrade ocfs2-kmp-azureUpgrade dtb-caviumUpgrade kernel-default-vdsoUpgrade dtb-allwinnerUpgrade dtb-nvidiaUpgrade dtb-rockchipUpgrade kernel-debug-vdsoUpgrade dtb-freescaleUpgrade dtb-marvellUpgrade ocfs2-kmp-64kbUpgrade gfs2-kmp-defaultUpgrade kernel-64kb-extraUpgrade cluster-md-kmp-rtUpgrade kernel-develUpgrade dlm-kmp-64kbUpgrade kernel-azure-extraUpgrade ocfs2-kmp-defaultUpgrade dtb-broadcomUpgrade kernel-default-baseUpgrade kernel-rt-extraUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-azureUpgrade kernel-defaultUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-vdsoUpgrade gfs2-kmp-azureUpgrade dtb-sprdUpgrade kernel-default-develUpgrade kernel-obs-buildUpgrade dtb-lgUpgrade dtb-alteraUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-rtUpgrade gfs2-kmp-rtUpgrade kernel-debugUpgrade kernel-docsUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-kvmsmallUpgrade kselftests-kmp-defaultUpgrade kernel-symsUpgrade dtb-mediatekUpgrade cluster-md-kmp-azureUpgrade kernel-obs-qaUpgrade kernel-64kb-develUpgrade reiserfs-kmp-azureUpgrade kernel-rt-develUpgrade kernel-64kbUpgrade dlm-kmp-defaultUpgrade dtb-amlogicUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-develUpgrade kernel-azure-vdsoUpgrade gfs2-kmp-64kbUpgrade dtb-armUpgrade kernel-64kb-optionalUpgrade kernel-macrosUpgrade dtb-xilinxUpgrade kernel-zfcpdumpUpgrade dlm-kmp-azureUpgrade kernel-devel-azureUpgrade kernel-default-extraUpgrade dtb-hisiliconUpgrade cluster-md-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-default-optionalUpgrade dtb-qcomUpgrade dtb-amdUpgrade dtb-apmUpgrade kernel-kvmsmall-develUpgrade kernel-devel-rtUpgrade kernel-azure-develUpgrade kernel-rtUpgrade dtb-socionextUpgrade kernel-syms-rt | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-azure-nvidia-6.8Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.4.0-1105-bluefieldUpgrade linux-image-intelUpgrade linux-image-nvidia-64kUpgrade linux-image-raspi-6.8Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-1084-awsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gke-5.15Upgrade linux-image-fipsUpgrade linux-image-6.8.0-1032-gkeUpgrade linux-image-5.15.0-140-fipsUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1019-gkeopUpgrade linux-image-6.8.0-78-genericUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-azure-lts-22.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-6.11.0-26-genericUpgrade linux-image-5.15.0-1037-nvidia-tegraUpgrade linux-image-nvidiaUpgrade linux-image-5.4.0-1149-gcpUpgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-6.8.0-1036-gcpUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1078-nvidiaUpgrade linux-image-5.15.0-1089-azureUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-20.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-oem-20.04bUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-1034-azure-fdeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-azureUpgrade linux-image-6.11.0-1015-azureUpgrade linux-image-gcpUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-1081-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1089-azure-fipsUpgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-azure-fde-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.4.0-1092-ibmUpgrade linux-image-6.8.0-1035-aws-64kUpgrade linux-image-6.8.0-1035-nvidia-64kUpgrade linux-image-gke-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-nvidia-tegraUpgrade linux-image-oem-20.04cUpgrade linux-image-oemUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1083-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1032-oracle-64kUpgrade linux-image-5.15.0-1076-ibmUpgrade linux-image-azure-6.8Upgrade linux-image-5.15.0-1080-kvmUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-osp1Upgrade linux-image-5.4.0-1151-azureUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-78-generic-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1035-raspiUpgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1084-aws-fipsUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-6.8.0-1034-azureUpgrade linux-image-6.8.0-78-lowlatency-64kUpgrade linux-image-azure-lts-20.04Upgrade linux-image-6.8.0-1036-gcp-64kUpgrade linux-image-generic-64k-6.8Upgrade linux-image-5.4.0-1144-oracleUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-2028-raspi-realtimeUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-140-lowlatency-64kUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-5.4.0-1151-azure-fipsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1022-azure-nvidiaUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.8.0-1035-awsUpgrade linux-image-5.4.0-1064-xilinx-zynqmpUpgrade linux-image-5.15.0-142-genericUpgrade linux-image-ibmUpgrade linux-image-ibm-6.8Upgrade linux-image-5.15.0-1078-raspiUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.15.0-140-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.15.0-140-lowlatencyUpgrade linux-image-generic-6.8Upgrade linux-image-5.4.0-1146-aws-fipsUpgrade linux-image-5.15.0-140-generic-lpaeUpgrade linux-image-5.15.0-1081-oracleUpgrade linux-image-azure-fipsUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1035-nvidiaUpgrade linux-image-5.15.0-1083-gcp-fipsUpgrade linux-image-realtime-6.8.1Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-78-lowlatencyUpgrade linux-image-6.8.0-1035-nvidia-lowlatencyUpgrade linux-image-5.4.0-216-lowlatencyUpgrade linux-image-5.4.0-1133-kvmUpgrade linux-image-5.15.0-1084-realtimeUpgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-aws-64k-6.8Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oracleUpgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1078-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1037-nvidia-tegra-rtUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-aws-lts-20.04Upgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-5.4.0-216-generic-lpaeUpgrade linux-image-5.4.0-1051-iotUpgrade linux-image-6.8.0-1032-oracleUpgrade linux-image-lowlatency-6.8Upgrade linux-image-bluefieldUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1035-nvidia-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-awsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-140-genericUpgrade linux-image-5.15.0-1026-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1079-intel-iotgUpgrade linux-image-5.4.0-216-genericUpgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-raspi2Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-raspiUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.1-1030-realtimeUpgrade linux-image-6.8.0-1033-ibmUpgrade linux-image-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1022-oemUpgrade linux-image-5.15.0-1026-nvidia-tegra-igxUpgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1066-gkeopUpgrade linux-image-5.4.0-1146-awsUpgrade linux-image-5.15.0-1077-intel-iot-realtimeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-5.4.0-1120-fipsUpgrade linux-image-oracle-6.8Upgrade linux-image-5.4.0-1149-gcp-fipsUpgrade linux-image-6.11.0-1014-aws | May 20, 2025 | Feb 27, 2025 |
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