In the Linux kernel, the following vulnerability has been resolved:
xdp: use flags field to disambiguate broadcast redirect
When redirecting a packet using XDP, the bpf_redirect_map() helper will set up the redirect destination information in struct bpf_redirect_info (using the __bpf_xdp_redirect_map() helper function), and the xdp_do_redirect() function will read this information after the XDP program returns and pass the frame on to the right redirect destination.
When using the BPF_F_BROADCAST flag to do multicast redirect to a whole map, __bpf_xdp_redirect_map() sets the 'map' pointer in struct bpf_redirect_info to point to the destination map to be broadcast. And xdp_do_redirect() reacts to the value of this map pointer to decide whether it's dealing with a broadcast or a single-value redirect. However, if the destination map is being destroyed before xdp_do_redirect() is called, the map pointer will be cleared out (by bpf_clear_redirect_map()) without waiting for any XDP programs to stop running. This causes xdp_do_redirect() to think that the redirect was to a single target, but the target pointer is also NULL (since broadcast redirects don't have a single target), so this causes a crash when a NULL pointer is passed to dev_map_enqueue().
To fix this, change xdp_do_redirect() to react directly to the presence of the BPF_F_BROADCAST flag in the 'flags' value in struct bpf_redirect_info to disambiguate between a single-target and a broadcast redirect. And only read the 'map' pointer if the broadcast flag is set, aborting if that has been cleared out in the meantime. This prevents the crash, while keeping the atomic (cmpxchg-based) clearing of the map pointer itself, and without adding any more checks in the non-broadcast fast path.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-tools-develUpgrade perfUpgrade kernelUpgrade kernel-livepatch-5.15.160-104.158Upgrade kernel-headersUpgrade python-perfUpgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfo | Jun 12, 2024 | May 30, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfoUpgrade kernelUpgrade kernel-modules-extra-commonUpgrade kernel-livepatch-6.1.91-99.172Upgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-libbpf-develUpgrade bpftool-debuginfoUpgrade kernel-tools-develUpgrade perfUpgrade kernel-libbpfUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade bpftoolUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade kernel-modules-extra | Feb 17, 2025 | May 30, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 30, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 30, 2024 |
| Suse | — | Upgrade kernel-obs-qaUpgrade kernel-kvmsmallUpgrade kselftests-kmp-defaultUpgrade kernel-develUpgrade kernel-default-develUpgrade kernel-symsUpgrade kernel-source-azureUpgrade dtb-armUpgrade kernel-debugUpgrade dtb-amlogicUpgrade reiserfs-kmp-defaultUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-macrosUpgrade kernel-default-extraUpgrade dtb-lgUpgrade reiserfs-kmp-azureUpgrade dtb-amdUpgrade kernel-default-optionalUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-64kbUpgrade kernel-64kb-optionalUpgrade dtb-xilinxUpgrade kernel-rt-livepatch-develUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade gfs2-kmp-rtUpgrade kernel-64kbUpgrade dtb-apmUpgrade dtb-amazonUpgrade kernel-64kb-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade kernel-debug-develUpgrade kernel-rt-livepatchUpgrade ocfs2-kmp-rtUpgrade dtb-appleUpgrade kernel-sourceUpgrade dlm-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-devel-azureUpgrade kernel-azure-vdsoUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-develUpgrade kernel-docsUpgrade kernel-devel-rtUpgrade dtb-mediatekUpgrade dtb-exynosUpgrade kernel-rt_debug-vdsoUpgrade dtb-socionextUpgrade kernel-64kb-develUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-syms-rtUpgrade cluster-md-kmp-azureUpgrade kernel-rtUpgrade kernel-docs-htmlUpgrade kernel-debug-vdsoUpgrade dtb-broadcomUpgrade cluster-md-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatchUpgrade kernel-azureUpgrade gfs2-kmp-defaultUpgrade dtb-allwinnerUpgrade kernel-default-vdsoUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-obs-buildUpgrade reiserfs-kmp-rtUpgrade dlm-kmp-64kbUpgrade gfs2-kmp-azureUpgrade kernel-64kb-extraUpgrade dtb-freescaleUpgrade kselftests-kmp-64kbUpgrade kernel-rt-optionalUpgrade dtb-qcomUpgrade kernel-source-rtUpgrade kernel-rt_debugUpgrade kernel-azure-extraUpgrade kernel-azure-develUpgrade dtb-nvidiaUpgrade dtb-marvellUpgrade kernel-default-base-rebuildUpgrade dlm-kmp-rtUpgrade kernel-defaultUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-azureUpgrade dtb-sprdUpgrade kernel-default-livepatch-develUpgrade dtb-alteraUpgrade kernel-default-baseUpgrade dtb-rockchipUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade dtb-renesasUpgrade kernel-source-vanillaUpgrade kernel-azure-optionalUpgrade ocfs2-kmp-64kbUpgrade dtb-cavium | Jul 10, 2024 | May 30, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-64kUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-5.15.0-118-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-ibmUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1060-raspiUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oracleUpgrade linux-image-gke-5.15Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1062-intel-iotgUpgrade linux-image-ibm-classicUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1066-gcpUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-5.15.0-1060-ibmUpgrade linux-image-5.15.0-1065-oracleUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1067-awsUpgrade linux-image-5.15.0-1070-azure-fdeUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-20.04bUpgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-118-generic-64kUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-intelUpgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-118-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-gkeopUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-raspiUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-azure-cvmUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-40-genericUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-5.15.0-1062-nvidiaUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-awsUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1070-azureUpgrade linux-image-5.15.0-1062-nvidia-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1064-gkeUpgrade linux-image-5.15.0-118-genericUpgrade linux-image-5.15.0-1064-kvmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1013-awsUpgrade linux-image-azureUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-5.15.0-1050-gkeopUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-118-generic-lpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatency-64k | Aug 9, 2024 | May 30, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 14, 2025 | May 30, 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