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-rt-debug-coreUpgrade kernel-rt-64k-debugUpgrade kernel-debug-modules-coreUpgrade kernel-debugUpgrade kernel-64k-debug-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64kUpgrade kernel-debug-modulesUpgrade rtlaUpgrade kernel-rt-64k-develUpgrade kernel-64k-debug-modules-coreUpgrade python3-perfUpgrade kernel-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-debugUpgrade kernel-cross-headersUpgrade kernel-64k-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-64k-coreUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-develUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-rt-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-debug-coreUpgrade kernel-rt-develUpgrade kernel-rt-64k-modules-coreUpgrade kernel-debug-uki-virtUpgrade kernel-rt-64k-debug-develUpgrade kernel-tools-libsUpgrade kernel-develUpgrade kernelUpgrade kernel-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-coreUpgrade kernel-64k-modules-extraUpgrade kernel-rt-64k-modulesUpgrade kernel-devel-matchedUpgrade kernel-rtUpgrade kernel-uki-virtUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-tools-libs-develUpgrade kernel-rt-64k-debug-coreUpgrade kernel-debug-modules-extraUpgrade rvUpgrade kernel-zfcpdump-develUpgrade libperfUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-64k-coreUpgrade kernel-docUpgrade kernel-zfcpdump-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-debug-develUpgrade kernel-abi-stablelistsUpgrade kernel-rt-modules-coreUpgrade kernel-modules-coreUpgrade perfUpgrade kernel-rt-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-64kUpgrade kernel-rt-64k-modules-extraUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-debugUpgrade kernel-64k-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-headers | Nov 20, 2025 | Nov 11, 2025 |
| Amazon Linux Ami 2 | — | Upgrade kernelUpgrade python-perfUpgrade kernel-livepatch-5.15.176-118.170Upgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.233-223.887Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-develUpgrade perfUpgrade python-perf-debuginfoUpgrade kernel-headers | Mar 14, 2025 | Jan 11, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.124-134.200Upgrade python3-perfUpgrade kernel-tools-develUpgrade kernel-modules-extra-commonUpgrade bpftool-debuginfoUpgrade kernel-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade kernelUpgrade kernel-libbpfUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-debuginfoUpgrade bpftool | Mar 27, 2025 | Jan 11, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jan 13, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftool | Jun 13, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade bpftoolUpgrade kernel-abi-stablelists | Jun 11, 2025 | Jan 11, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perf | Jun 11, 2025 | Jan 11, 2025 |
| Oracle_linux | — | Upgrade kernel | Nov 28, 2025 | Jan 11, 2025 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Rocky_linux | — | Upgrade libperfUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-modules-coreUpgrade kernel-modules-extraUpgrade rtlaUpgrade kernel-debug-develUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-uki-virtUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kernel-modulesUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-zfcpdump-develUpgrade kernel-rt-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-coreUpgrade perfUpgrade kernel-coreUpgrade kernel-devel-matchedUpgrade python3-perfUpgrade kernelUpgrade rvUpgrade kernel-debuginfo-common-s390xUpgrade kernel-debug-modules-coreUpgrade kernel-rt-develUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debug-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-debug-uki-virtUpgrade kernel-debug-debuginfoUpgrade libperf-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-modulesUpgrade kernel-tools-libs-develUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt | Feb 5, 2026 | Nov 21, 2025 |
| Ubuntu | — | Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-genericUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-oem-20.04cUpgrade linux-image-realtimeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.11.0-21-genericUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-oem-24.04bUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.4.0-1147-azureUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-gkeopUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oem-osp1Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-oem-22.04dUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-fipsUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-oemUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-oracleUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-gcp-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-gkeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-raspi2Upgrade linux-image-6.8.0-58-genericUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-gcpUpgrade linux-image-oem-22.04cUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-azure-lts-20.04Upgrade linux-image-oem-24.04aUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-awsUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.4.0-1048-iotUpgrade linux-image-nvidia-64kUpgrade linux-image-ibmUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-oracle-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-generic-lpaeUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-gke-5.15Upgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-generic-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-azure-fdeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-20.04b | 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