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-headersUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-5.15.160-104.158Upgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade python-perfUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfoUpgrade kernel-develUpgrade perfUpgrade bpftoolUpgrade kernel-tools-debuginfo | Jun 12, 2024 | May 30, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-libbpfUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extraUpgrade kernel-libbpf-staticUpgrade perfUpgrade bpftoolUpgrade kernel-develUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-livepatch-6.1.91-99.172Upgrade kernel-modules-extra-commonUpgrade perf-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-x86_64 | 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-default-livepatchUpgrade kernel-rt-vdsoUpgrade kernel-azureUpgrade dtb-nvidiaUpgrade cluster-md-kmp-64kbUpgrade dtb-broadcomUpgrade dtb-caviumUpgrade kernel-azure-develUpgrade reiserfs-kmp-rtUpgrade kernel-default-base-rebuildUpgrade kernel-obs-buildUpgrade kernel-azure-extraUpgrade kernel-rt_debug-livepatch-develUpgrade kselftests-kmp-rtUpgrade ocfs2-kmp-azureUpgrade dtb-marvellUpgrade kernel-source-vanillaUpgrade kernel-rt-extraUpgrade dlm-kmp-rtUpgrade gfs2-kmp-defaultUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-rt_debug-develUpgrade dtb-allwinnerUpgrade kernel-default-vdsoUpgrade kernel-docs-htmlUpgrade kernel-kvmsmall-vdsoUpgrade dtb-freescaleUpgrade kernel-debug-vdsoUpgrade kernel-64kb-extraUpgrade gfs2-kmp-azureUpgrade dtb-alteraUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-rt-optionalUpgrade dtb-renesasUpgrade dtb-rockchipUpgrade kernel-defaultUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-64kbUpgrade kernel-rt_debugUpgrade kernel-azure-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-source-rtUpgrade dtb-sprdUpgrade kernel-default-baseUpgrade kernel-rtUpgrade dtb-qcomUpgrade kernel-rt-livepatch-develUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kernel-sourceUpgrade ocfs2-kmp-rtUpgrade kernel-64kbUpgrade kernel-64kb-livepatch-develUpgrade dtb-amdUpgrade dtb-armUpgrade dtb-amlogicUpgrade kernel-macrosUpgrade kernel-debugUpgrade kernel-default-extraUpgrade dtb-mediatekUpgrade dtb-exynosUpgrade reiserfs-kmp-azureUpgrade kernel-source-azureUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-default-optionalUpgrade kernel-64kb-develUpgrade dtb-appleUpgrade kernel-rt-livepatchUpgrade kernel-symsUpgrade kernel-obs-qaUpgrade kernel-kvmsmallUpgrade kernel-develUpgrade kernel-default-develUpgrade dtb-lgUpgrade gfs2-kmp-rtUpgrade kernel-azure-livepatch-develUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade dlm-kmp-defaultUpgrade dtb-xilinxUpgrade dtb-apmUpgrade dtb-amazonUpgrade kernel-zfcpdumpUpgrade dtb-socionextUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-syms-rtUpgrade kernel-syms-azureUpgrade kernel-docsUpgrade kernel-devel-rtUpgrade kernel-debug-livepatch-develUpgrade kernel-debug-develUpgrade dtb-hisilicon | Jul 10, 2024 | May 30, 2024 |
| Ubuntu | — | Upgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-1066-gcpUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-5.15.0-1070-azure-fdeUpgrade linux-image-gke-5.15Upgrade linux-image-kvmUpgrade linux-image-intelUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-5.15.0-118-generic-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-genericUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-intel-iotgUpgrade linux-image-gcpUpgrade linux-image-5.15.0-1060-ibmUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1062-intel-iotgUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-118-lowlatency-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1065-oracleUpgrade linux-image-gkeUpgrade linux-image-gkeopUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1067-awsUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-oem-24.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-20.04bUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-118-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-5.15.0-1060-raspiUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-5.15.0-1062-nvidia-lowlatencyUpgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1070-azureUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1064-gkeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1013-awsUpgrade linux-image-5.15.0-1064-kvmUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-5.15.0-118-generic-lpaeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-azureUpgrade linux-image-5.15.0-1050-gkeopUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-5.15.0-118-genericUpgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-6.8.0-40-genericUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1062-nvidia | 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