In the Linux kernel, the following vulnerability has been resolved:
fs: Prevent file descriptor table allocations exceeding INT_MAX
When sysctl_nr_open is set to a very high value (for example, 1073741816 as set by systemd), processes attempting to use file descriptors near the limit can trigger massive memory allocation attempts that exceed INT_MAX, resulting in a WARNING in mm/slub.c:
WARNING: CPU: 0 PID: 44 at mm/slub.c:5027 __kvmalloc_node_noprof+0x21a/0x288
This happens because kvmalloc_array() and kvmalloc() check if the requested size exceeds INT_MAX and emit a warning when the allocation is not flagged with __GFP_NOWARN.
Specifically, when nr_open is set to 1073741816 (0x3ffffff8) and a process calls dup2(oldfd, 1073741880), the kernel attempts to allocate: - File descriptor array: 1073741880 * 8 bytes = 8,589,935,040 bytes - Multiple bitmaps: ~400MB - Total allocation size: > 8GB (exceeding INT_MAX = 2,147,483,647)
Reproducer: 1. Set /proc/sys/fs/nr_open to 1073741816: # echo 1073741816 > /proc/sys/fs/nr_open
2. Run a program that uses a high file descriptor: #include <unistd.h> #include <sys/resource.h>
int main() { struct rlimit rlim = {1073741824, 1073741824}; setrlimit(RLIMIT_NOFILE, &rlim); dup2(2, 1073741880); // Triggers the warning return 0; }
3. Observe WARNING in dmesg at mm/slub.c:5027
systemd commit a8b627a introduced automatic bumping of fs.nr_open to the maximum possible value. The rationale was that systems with memory control groups (memcg) no longer need separate file descriptor limits since memory is properly accounted. However, this change overlooked that:
1. The kernel's allocation functions still enforce INT_MAX as a maximum size regardless of memcg accounting 2. Programs and tests that legitimately test file descriptor limits can inadvertently trigger massive allocations 3. The resulting allocations (>8GB) are impractical and will always fail
systemd's algorithm starts with INT_MAX and keeps halving the value until the kernel accepts it. On most systems, this results in nr_open being set to 1073741816 (0x3ffffff8), which is just under 1GB of file descriptors.
While processes rarely use file descriptors near this limit in normal operation, certain selftests (like tools/testing/selftests/core/unshare_test.c) and programs that test file descriptor limits can trigger this issue.
Fix this by adding a check in alloc_fdtable() to ensure the requested allocation size does not exceed INT_MAX. This causes the operation to fail with -EMFILE instead of triggering a kernel warning and avoids the impractical >8GB memory allocation request.
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-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-tools-develUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-livepatch-5.15.191-132.213Upgrade kernel-debuginfoUpgrade kernelUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade python-perfUpgrade kernel-livepatch-5.10.242-239.961Upgrade perf-debuginfoUpgrade bpftool-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12Upgrade kernel6.12-modules-extraUpgrade kernel6.12-develUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade perf6.12Upgrade kernel6.12-tools-develUpgrade kernel-libbpfUpgrade kernel-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade bpftool6.12-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-debuginfoUpgrade kernel-livepatch-6.1.150-174.273Upgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-libbpf-debuginfoUpgrade kernel-headersUpgrade kernel6.12-headersUpgrade python3-perf6.12Upgrade kernel6.12-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-libbpf-develUpgrade kernel6.12-libbpfUpgrade kernel6.12-toolsUpgrade kernel-toolsUpgrade python3-perfUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel6.12-debuginfoUpgrade bpftool6.12Upgrade perf6.12-debuginfoUpgrade kernel-libbpf-staticUpgrade bpftoolUpgrade kernel-modules-extra-commonUpgrade kernel6.12-libbpf-develUpgrade kernel-tools-develUpgrade kernelUpgrade perfUpgrade kernel-livepatch-6.12.46-66.121 | Sep 30, 2025 | Sep 11, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Sep 25, 2025 | Sep 25, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-tools | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-tools-libs | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel | Feb 3, 2026 | Feb 2, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 14, 2025 | Sep 11, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Sep 11, 2025 |
| Suse | — | Upgrade kernel-develUpgrade kernel-64kb-develUpgrade kernel-docsUpgrade kernel-symsUpgrade kernel-default-extraUpgrade kernel-macrosUpgrade kernel-defaultUpgrade kernel-64kbUpgrade kernel-default-develUpgrade kernel-default-baseUpgrade reiserfs-kmp-defaultUpgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade kernel-obs-build | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-22.04aUpgrade linux-image-oem-20.04bUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-5.15.0-163-lowlatency-64kUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-1097-gcp-fipsUpgrade linux-image-azure-fips-5.15Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-5.15.0-1096-realtimeUpgrade linux-image-5.15.0-1091-ibmUpgrade linux-image-gcp-6.8Upgrade linux-image-aws-lts-22.04Upgrade linux-image-lowlatency-5.15Upgrade linux-image-aws-64k-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-awsUpgrade linux-image-5.15.0-1102-azureUpgrade linux-image-gke-64kUpgrade linux-image-5.15.0-1094-oracleUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-163-generic-lpaeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-generic-64k-6.8Upgrade linux-image-oracleUpgrade linux-image-generic-5.15Upgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-realtimeUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-genericUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-fipsUpgrade linux-image-aws-5.15Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-5.15.0-1080-gkeopUpgrade linux-image-azure-lts-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1092-nvidiaUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-ibmUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1061-xilinx-zynqmpUpgrade linux-image-5.15.0-1089-intel-iot-realtimeUpgrade linux-image-5.15.0-1089-kvmUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gke-5.15Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-gcp-5.15Upgrade linux-image-5.15.0-1092-intel-iotgUpgrade linux-image-5.15.0-1097-aws-64kUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-5.15.0-1091-raspiUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-5.15.0-163-lowlatencyUpgrade linux-image-5.15.0-163-genericUpgrade linux-image-raspi-5.15Upgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-nvidia-tegraUpgrade linux-image-realtime-6.8.1Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-5.15.0-1101-azureUpgrade linux-image-5.15.0-1097-gcpUpgrade linux-image-5.15.0-1093-gkeUpgrade linux-image-virtual-6.8Upgrade linux-image-virtual-5.15Upgrade linux-image-gkeopUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-5.15.0-163-fipsUpgrade linux-image-generic-64k-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1038-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1101-azure-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-kvmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-kvm-5.15Upgrade linux-image-gke-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-oracle-6.8Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-generic-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-azureUpgrade linux-image-5.15.0-1049-nvidia-tegraUpgrade linux-image-xilinxUpgrade linux-image-oem-22.04dUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-raspiUpgrade linux-image-oem-20.04cUpgrade linux-image-gcp-fipsUpgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-163-generic-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-5.15Upgrade linux-image-5.15.0-1092-nvidia-lowlatencyUpgrade linux-image-xilinx-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-5.15.0-1097-aws-fipsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-aws-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-intelUpgrade linux-image-5.15.0-1097-awsUpgrade linux-image-raspi-6.8Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-5.15.0-1049-nvidia-tegra-rtUpgrade linux-image-5.15.0-1038-nvidia-tegra-igxUpgrade linux-image-raspi-realtimeUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-generic-64kUpgrade linux-image-fips-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-aws-64k-lts-22.04 | Dec 5, 2025 | Sep 11, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 19, 2025 | Sep 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