In the Linux kernel, the following vulnerability has been resolved:
bpf: Enforce expected_attach_type for tailcall compatibility
Yinhao et al. recently reported:
Our fuzzer tool discovered an uninitialized pointer issue in the bpf_prog_test_run_xdp() function within the Linux kernel's BPF subsystem. This leads to a NULL pointer dereference when a BPF program attempts to deference the txq member of struct xdp_buff object.
The test initializes two programs of BPF_PROG_TYPE_XDP: progA acts as the entry point for bpf_prog_test_run_xdp() and its expected_attach_type can neither be of be BPF_XDP_DEVMAP nor BPF_XDP_CPUMAP. progA calls into a slot of a tailcall map it owns. progB's expected_attach_type must be BPF_XDP_DEVMAP to pass xdp_is_valid_access() validation. The program returns struct xdp_md's egress_ifindex, and the latter is only allowed to be accessed under mentioned expected_attach_type. progB is then inserted into the tailcall which progA calls.
The underlying issue goes beyond XDP though. Another example are programs of type BPF_PROG_TYPE_CGROUP_SOCK_ADDR. sock_addr_is_valid_access() as well as sock_addr_func_proto() have different logic depending on the programs' expected_attach_type. Similarly, a program attached to BPF_CGROUP_INET4_GETPEERNAME should not be allowed doing a tailcall into a program which calls bpf_bind() out of BPF which is only enabled for BPF_CGROUP_INET4_CONNECT.
In short, specifying expected_attach_type allows to open up additional functionality or restrictions beyond what the basic bpf_prog_type enables. The use of tailcalls must not violate these constraints. Fix it by enforcing expected_attach_type in __bpf_prog_map_compatible().
Note that we only enforce this for tailcall maps, but not for BPF devmaps or cpumaps: There, the programs are invoked through dev_map_bpf_prog_run*() and cpu_map_bpf_prog_run*() which set up a new environment / context and therefore these situations are not prone to this issue.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel6.12-tools-debuginfoUpgrade kernel-libbpf-staticUpgrade bpftool-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel-tools-develUpgrade kernel6.12-tools-develUpgrade kernel-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-headersUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel6.12-develUpgrade kernel-livepatch-6.1.156-177.286Upgrade perfUpgrade kernel-libbpfUpgrade python3-perf6.12Upgrade kernel-libbpf-debuginfoUpgrade python3-perfUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel6.12-toolsUpgrade kernelUpgrade kernel-headersUpgrade bpftool6.12Upgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel-livepatch-6.12.53-69.119Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade kernel6.12-modules-extra-commonUpgrade kernel-libbpf-develUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpfUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade perf6.12Upgrade kernel6.12 | Dec 9, 2025 | Nov 12, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Nov 13, 2025 | Nov 13, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade python3-perfUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade kernelUpgrade kernel-abi-stablelists | Mar 17, 2026 | Mar 16, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelists | Feb 3, 2026 | Feb 2, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Nov 12, 2025 |
| Ubuntu | — | Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-oracle-6.17Upgrade linux-image-oem-6.17Upgrade linux-image-generic-64k-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.17.0-1007-gcpUpgrade linux-image-6.17.0-1008-raspiUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-6.17.0-14-genericUpgrade linux-image-realtimeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-gcp-fipsUpgrade linux-image-gke-64kUpgrade linux-image-gcp-6.17Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-6.8Upgrade linux-image-6.17.0-1007-gcp-64kUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-lowlatencyUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-22.04aUpgrade linux-image-6.17.0-14-generic-64kUpgrade linux-image-6.17.0-1007-awsUpgrade linux-image-fipsUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-lowlatency-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-generic-64k-6.17Upgrade linux-image-aws-64k-6.17Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.17.0-1011-oemUpgrade linux-image-oracleUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.17.0-1007-aws-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-generic-6.17Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-awsUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-oem-22.04Upgrade linux-image-gke-6.8Upgrade linux-image-nvidiaUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-aws-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-gkeUpgrade linux-image-oem-22.04cUpgrade linux-image-azure-6.17Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-genericUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1050-awsUpgrade linux-image-6.17.0-1008-azureUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-realtime-6.17Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-fips-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-gkeopUpgrade linux-image-virtual-6.17Upgrade linux-image-raspiUpgrade linux-image-oracle-64kUpgrade linux-image-6.17.0-1007-oracle-64kUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.17.0-1006-realtimeUpgrade linux-image-raspi-6.17Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-raspi-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-generic-64kUpgrade linux-image-aws-6.17Upgrade linux-image-ibm-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-raspi-realtimeUpgrade linux-image-gcpUpgrade linux-image-6.17.0-1007-oracleUpgrade linux-image-intel-iotg | Feb 13, 2026 | Feb 12, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Nov 12, 2025 |
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