CVE-2025-39756
BaseFortify
Publication date: 2025-09-11
Last updated on: 2025-11-03
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | kernel | 5.10.244-1 |
| linux | kernel | 6.1.153-1 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability occurs in the Linux kernel when the maximum number of file descriptors (nr_open) is set to a very high value, such as 1073741816. Under these conditions, processes attempting to use file descriptors near this limit can trigger very large memory allocation attempts that exceed the maximum integer size (INT_MAX). This leads to kernel warnings and impractical memory allocation requests exceeding 8GB, which will fail. The issue arises because the kernel's allocation functions enforce INT_MAX as a maximum size, but systemd's automatic setting of nr_open to a high value overlooked this limit. The fix involves adding a check to prevent allocation sizes exceeding INT_MAX, causing the operation to fail gracefully instead of triggering warnings and large allocations.
How can this vulnerability impact me? :
If your system has nr_open set to a very high value, processes that use file descriptors near this limit can cause the kernel to attempt massive memory allocations exceeding INT_MAX, resulting in kernel warnings and failed allocations. This can lead to instability or unexpected failures in programs that test or use high file descriptor numbers, potentially affecting system reliability or causing denial of service in extreme cases.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring the kernel logs for WARNING messages related to memory allocation failures in mm/slub.c at line 5027. Specifically, you can check for warnings triggered by large file descriptor allocations exceeding INT_MAX. Use the command: dmesg | grep 'WARNING.*mm/slub.c:5027' to find relevant warnings. Additionally, checking the value of /proc/sys/fs/nr_open for unusually high settings (e.g., 1073741816) can help identify if the system is configured in a way that might trigger this issue.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability immediately, reduce the value of /proc/sys/fs/nr_open to a safer limit below INT_MAX (2,147,483,647) to prevent excessive file descriptor table allocations. Avoid setting nr_open to very high values like 1073741816. Additionally, update the Linux kernel to a version that includes the fix which adds a check in alloc_fdtable() to prevent allocations exceeding INT_MAX, causing the operation to fail gracefully instead of triggering large memory allocations and warnings.