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-optionalUpgrade kernel-macrosUpgrade kernel-default-extraUpgrade dtb-qcomUpgrade kselftests-kmp-rtUpgrade dtb-amdUpgrade kernel-debugUpgrade kernel-64kb-optionalUpgrade kernel-syms-azureUpgrade kernel-azure-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-devel-rtUpgrade dtb-socionextUpgrade kernel-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-obs-qaUpgrade kernel-syms-rtUpgrade reiserfs-kmp-rtUpgrade kernel-symsUpgrade dtb-xilinxUpgrade dtb-hisiliconUpgrade kernel-devel-azureUpgrade kernel-zfcpdumpUpgrade kernel-64kbUpgrade kernel-rt-develUpgrade dlm-kmp-azureUpgrade kernel-kvmsmall-develUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-develUpgrade reiserfs-kmp-azureUpgrade dlm-kmp-defaultUpgrade dtb-apmUpgrade dtb-armUpgrade dtb-amlogicUpgrade cluster-md-kmp-azureUpgrade dtb-mediatekUpgrade kernel-azure-vdsoUpgrade kernel-debug-develUpgrade gfs2-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade kernel-kvmsmallUpgrade ocfs2-kmp-rtUpgrade gfs2-kmp-rtUpgrade kernel-docsUpgrade dlm-kmp-rtUpgrade kernel-rt_debugUpgrade kernel-rt_debug-develUpgrade dtb-appleUpgrade kernel-azureUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade dtb-amazonUpgrade kernel-docs-htmlUpgrade kernel-sourceUpgrade kernel-default-develUpgrade kernel-source-rtUpgrade kernel-source-azureUpgrade kernel-obs-buildUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-vdsoUpgrade kernel-debug-vdsoUpgrade dtb-rockchipUpgrade dtb-nvidiaUpgrade reiserfs-kmp-64kbUpgrade dtb-caviumUpgrade dtb-allwinnerUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-rt-vdsoUpgrade kernel-azure-extraUpgrade kernel-rt-extraUpgrade kernel-default-baseUpgrade dlm-kmp-64kbUpgrade dtb-renesasUpgrade kernel-rt-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-extraUpgrade dtb-exynosUpgrade dtb-broadcomUpgrade dtb-marvellUpgrade dtb-freescaleUpgrade kernel-default-livepatchUpgrade kernel-defaultUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade dtb-sprdUpgrade dtb-lgUpgrade dtb-alteraUpgrade kselftests-kmp-azureUpgrade kernel-develUpgrade gfs2-kmp-defaultUpgrade cluster-md-kmp-rt | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1083-gcp-fipsUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-2028-raspi-realtimeUpgrade linux-image-bluefieldUpgrade linux-image-lowlatency-6.8Upgrade linux-image-5.15.0-1037-nvidia-tegra-rtUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1035-nvidiaUpgrade linux-image-5.15.0-140-generic-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-5.4.0-216-generic-lpaeUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-5.15.0-1026-nvidia-tegra-igx-rtUpgrade linux-image-gcp-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1078-nvidia-lowlatencyUpgrade linux-image-5.4.0-1064-xilinx-zynqmpUpgrade linux-image-5.15.0-1078-raspiUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-azure-fipsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-5.15.0-1079-intel-iotgUpgrade linux-image-6.8.0-1035-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-140-genericUpgrade linux-image-awsUpgrade linux-image-generic-6.8Upgrade linux-image-raspi2Upgrade linux-image-ibm-classicUpgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1032-oracleUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-216-lowlatencyUpgrade linux-image-5.15.0-1084-realtimeUpgrade linux-image-5.15.0-140-lowlatency-64kUpgrade linux-image-6.8.0-1035-nvidia-lowlatencyUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1035-awsUpgrade linux-image-realtimeUpgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1033-ibmUpgrade linux-image-6.8.0-1022-azure-nvidiaUpgrade linux-image-5.4.0-1146-awsUpgrade linux-image-6.8.0-78-lowlatencyUpgrade linux-image-5.4.0-1133-kvmUpgrade linux-image-azure-cvmUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.1-1030-realtimeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.4.0-1149-gcp-fipsUpgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-6.11.0-1014-awsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-5.4.0-216-genericUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1066-gkeopUpgrade linux-image-5.15.0-1077-intel-iot-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-5.4.0-1151-azure-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1022-oemUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-virtual-6.8Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1146-aws-fipsUpgrade linux-image-5.15.0-140-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1081-oracleUpgrade linux-image-5.15.0-142-genericUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-140-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-oracleUpgrade linux-image-5.4.0-1144-oracleUpgrade linux-image-oem-24.04bUpgrade linux-image-5.4.0-1051-iotUpgrade linux-image-5.4.0-1120-fipsUpgrade linux-image-aws-lts-20.04Upgrade linux-image-ibmUpgrade linux-image-5.15.0-1026-nvidia-tegra-igxUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1034-azure-fdeUpgrade linux-image-6.11.0-1015-azureUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-genericUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-fde-6.8Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-aws-6.8Upgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1036-gcpUpgrade linux-image-6.11.0-26-genericUpgrade linux-image-5.15.0-1037-nvidia-tegraUpgrade linux-image-6.8.0-1035-nvidia-64kUpgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-gkeopUpgrade linux-image-5.4.0-1149-gcpUpgrade linux-image-6.8.0-78-genericUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-1105-bluefieldUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1089-azure-fipsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-aws-fipsUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1078-nvidiaUpgrade linux-image-6.8.0-1019-gkeopUpgrade linux-image-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-140-fipsUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1084-aws-fipsUpgrade linux-image-oem-20.04bUpgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-1032-gkeUpgrade linux-image-oem-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-azure-lts-20.04Upgrade linux-image-6.8.0-78-lowlatency-64kUpgrade linux-image-5.15.0-1084-awsUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-5.15.0-1081-gkeUpgrade linux-image-6.8.0-1034-azureUpgrade linux-image-6.8.0-78-generic-64kUpgrade linux-image-5.4.0-1151-azureUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oem-osp1Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-1083-gcpUpgrade linux-image-gkeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1035-raspiUpgrade linux-image-6.8.0-1036-gcp-64kUpgrade linux-image-6.8.0-1032-oracle-64kUpgrade linux-image-5.15.0-1076-ibmUpgrade linux-image-5.15.0-1080-kvmUpgrade linux-image-oem-22.04dUpgrade linux-image-azure-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-intelUpgrade linux-image-raspi-6.8Upgrade linux-image-oemUpgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-5.4.0-1092-ibmUpgrade linux-image-5.15.0-1089-azureUpgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-6.8.0-1035-aws-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-gke-6.8Upgrade linux-image-raspi-realtime | 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