In the Linux kernel, the following vulnerability has been resolved:
ipvs: fix UB due to uninitialized stack access in ip_vs_protocol_init()
Under certain kernel configurations when building with Clang/LLVM, the compiler does not generate a return or jump as the terminator instruction for ip_vs_protocol_init(), triggering the following objtool warning during build time:
vmlinux.o: warning: objtool: ip_vs_protocol_init() falls through to next function __initstub__kmod_ip_vs_rr__935_123_ip_vs_rr_init6()
At runtime, this either causes an oops when trying to load the ipvs module or a boot-time panic if ipvs is built-in. This same issue has been reported by the Intel kernel test robot previously.
Digging deeper into both LLVM and the kernel code reveals this to be a undefined behavior problem. ip_vs_protocol_init() uses a on-stack buffer of 64 chars to store the registered protocol names and leaves it uninitialized after definition. The function calls strnlen() when concatenating protocol names into the buffer. With CONFIG_FORTIFY_SOURCE strnlen() performs an extra step to check whether the last byte of the input char buffer is a null character (commit 3009f891bb9f ("fortify: Allow strlen() and strnlen() to pass compile-time known lengths")). This, together with possibly other configurations, cause the following IR to be generated:
define hidden i32 @ip_vs_protocol_init() local_unnamed_addr #5 section ".init.text" align 16 !kcfi_type !29 { %1 = alloca [64 x i8], align 16 ...
14: ; preds = %11 %15 = getelementptr inbounds i8, ptr %1, i64 63 %16 = load i8, ptr %15, align 1 %17 = tail call i1 @llvm.is.constant.i8(i8 %16) %18 = icmp eq i8 %16, 0 %19 = select i1 %17, i1 %18, i1 false br i1 %19, label %20, label %23
20: ; preds = %14 %21 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1) #23 ...
23: ; preds = %14, %11, %20 %24 = call i64 @strnlen(ptr noundef nonnull dereferenceable(1) %1, i64 noundef 64) #24 ... }
The above code calculates the address of the last char in the buffer (value %15) and then loads from it (value %16). Because the buffer is never initialized, the LLVM GVN pass marks value %16 as undefined:
%13 = getelementptr inbounds i8, ptr %1, i64 63 br i1 undef, label %14, label %17
This gives later passes (SCCP, in particular) more DCE opportunities by propagating the undef value further, and eventually removes everything after the load on the uninitialized stack location:
define hidden i32 @ip_vs_protocol_init() local_unnamed_addr #0 section ".init.text" align 16 !kcfi_type !11 { %1 = alloca [64 x i8], align 16 ...
12: ; preds = %11 %13 = getelementptr inbounds i8, ptr %1, i64 63 unreachable }
In this way, the generated native code will just fall through to the next function, as LLVM does not generate any code for the unreachable IR instruction and leaves the function without a terminator.
Zero the on-stack buffer to avoid this possible UB.
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 |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-develUpgrade kernel-rt-64k-coreUpgrade kernel-64k-modules-extraUpgrade rtlaUpgrade kernel-rt-debugUpgrade kernel-debug-develUpgrade kernel-64k-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade python3-perfUpgrade kernel-modulesUpgrade kernel-64k-debug-develUpgrade kernel-cross-headersUpgrade kernel-debug-modulesUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-zfcpdumpUpgrade kernel-rt-64k-modules-coreUpgrade kernel-tools-libsUpgrade kernel-rt-modules-extraUpgrade kernel-rt-64k-debug-develUpgrade kernel-debug-uki-virtUpgrade kernel-develUpgrade kernelUpgrade kernel-rt-develUpgrade kernel-64kUpgrade kernel-debug-modules-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-debugUpgrade kernel-rt-64k-debugUpgrade kernel-rt-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-64k-develUpgrade kernel-modules-extraUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-64k-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-rt-debug-coreUpgrade kernel-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-coreUpgrade kernel-tools-libs-develUpgrade kernel-docUpgrade libperfUpgrade perfUpgrade kernel-rt-modulesUpgrade kernel-rt-64k-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-64k-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rtUpgrade kernel-64k-debugUpgrade kernel-rt-64k-debug-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-uki-virtUpgrade kernel-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-64k-debug-modules-extraUpgrade kernel-64k-coreUpgrade kernel-uki-virt-addonsUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-develUpgrade rvUpgrade kernel-debug-modules-extraUpgrade kernel-headersUpgrade kernel-rt-modules-coreUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-rt-debug-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-64k | Nov 20, 2025 | Nov 11, 2025 |
| Amazon Linux Ami 2 | — | Upgrade kernel-develUpgrade kernel-tools-develUpgrade kernel-livepatch-5.10.233-223.887Upgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.176-118.170Upgrade bpftoolUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade python-perfUpgrade bpftool-debuginfo | Mar 14, 2025 | Jan 11, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-libbpfUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfoUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-modules-extraUpgrade kernel-libbpf-develUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-modules-extra-commonUpgrade python3-perfUpgrade kernel-develUpgrade kernel-headers | Mar 27, 2025 | Jan 11, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perf | Jun 13, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-tools | Jun 11, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelists | Jun 11, 2025 | Jan 11, 2025 |
| Oracle_linux | — | Upgrade kernel | Nov 28, 2025 | Jan 11, 2025 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Rocky_linux | — | Upgrade perfUpgrade perf-debuginfoUpgrade kernel-zfcpdumpUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-coreUpgrade kernel-rt-debuginfoUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-modules-coreUpgrade libperfUpgrade kernel-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-modulesUpgrade kernel-devel-matchedUpgrade kernel-modules-coreUpgrade kernel-debuginfoUpgrade rtlaUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-coreUpgrade kernel-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-coreUpgrade kernel-debugUpgrade kernel-rt-modulesUpgrade python3-perfUpgrade kernel-uki-virt-addonsUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debug-debuginfoUpgrade libperf-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-modulesUpgrade kernel-develUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debugUpgrade kernel-toolsUpgrade kernel-tools-libs-develUpgrade kernel-tools-libsUpgrade kernel-debug-uki-virtUpgrade kernel-rt-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-debuginfo-common-s390xUpgrade kernel-debug-modules-coreUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rtUpgrade kernelUpgrade rv | Feb 5, 2026 | Nov 21, 2025 |
| Ubuntu | — | Upgrade linux-image-nvidiaUpgrade linux-image-azureUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-gcpUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-oem-20.04bUpgrade linux-image-raspiUpgrade linux-image-oem-22.04aUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-generic-64kUpgrade linux-image-azure-lts-20.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-raspi-realtimeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-raspi2Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-azure-lts-22.04Upgrade linux-image-realtimeUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-genericUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-bluefieldUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-oem-22.04dUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1027-azureUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-azure-cvmUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-oemUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-oem-osp1Upgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-tegraUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-intelUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-oem-24.04Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-oem-22.04Upgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-gke-5.15Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-aws | Mar 28, 2025 | Jan 11, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 29, 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