In the Linux kernel, the following vulnerability has been resolved:
bpf: Prevent tailcall infinite loop caused by freplace
There is a potential infinite loop issue that can occur when using a combination of tail calls and freplace.
In an upcoming selftest, the attach target for entry_freplace of tailcall_freplace.c is subprog_tc of tc_bpf2bpf.c, while the tail call in entry_freplace leads to entry_tc. This results in an infinite loop:
entry_tc -> subprog_tc -> entry_freplace --tailcall-> entry_tc.
The problem arises because the tail_call_cnt in entry_freplace resets to zero each time entry_freplace is executed, causing the tail call mechanism to never terminate, eventually leading to a kernel panic.
To fix this issue, the solution is twofold:
1. Prevent updating a program extended by an freplace program to a prog_array map. 2. Prevent extending a program that is already part of a prog_array map with an freplace program.
This ensures that:
* If a program or its subprogram has been extended by an freplace program, it can no longer be updated to a prog_array map. * If a program has been added to a prog_array map, neither it nor its subprograms can be extended by an freplace program.
Moreover, an extension program should not be tailcalled. As such, return -EINVAL if the program has a type of BPF_PROG_TYPE_EXT when adding it to a prog_array map.
Additionally, fix a minor code style issue by replacing eight spaces with a tab for proper formatting.
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 linuxNo solution exists | May 15, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelists | Apr 11, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelists | May 7, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade bpftool | Apr 1, 2025 | Jan 11, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-gkeUpgrade linux-image-gkeopUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-raspi-realtimeUpgrade linux-image-nvidiaUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-azureUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-oracle-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-1026-oemUpgrade linux-image-genericUpgrade linux-image-gcpUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-58-genericUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-oracleUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-1011-lowlatency-64k | Mar 28, 2025 | Jan 11, 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