CVE-2024-45025
📋 TL;DR
A Linux kernel vulnerability in the close_range() system call with CLOSE_RANGE_UNSHARE flag can cause bitmap corruption in file descriptor tables. This allows file descriptors to be incorrectly marked as closed when they're actually open, potentially leading to information disclosure or privilege escalation. Affects Linux systems using specific kernel versions with shared file descriptor tables.
💻 Affected Systems
- Linux Kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Privilege escalation through file descriptor confusion allowing unauthorized access to sensitive files or resources, potentially leading to full system compromise.
Likely Case
Information disclosure through incorrect file descriptor handling, allowing processes to access files they shouldn't be able to access.
If Mitigated
Limited impact with proper process isolation and minimal use of shared file descriptor tables.
🎯 Exploit Status
Reproducer exists in kernel testing suite, requires local access and specific conditions to trigger.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patches available in stable kernel branches (commits listed in references)
Vendor Advisory: https://git.kernel.org/stable/c/5053581fe5dfb09b58c65dd8462bf5dea71f41ff
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable CLOSE_RANGE_UNSHARE usage
linuxAvoid using close_range() with CLOSE_RANGE_UNSHARE flag in applications
Review application code and remove CLOSE_RANGE_UNSHARE usage
Restrict process capabilities
linuxLimit capabilities of processes that might use close_range()
Use capabilities(7) to restrict CAP_SYS_ADMIN and other privileges
🧯 If You Can't Patch
- Implement strict process isolation and minimal privilege principles
- Monitor for unusual file descriptor behavior and system calls
🔍 How to Verify
Check if Vulnerable:
Check kernel version against patched versions from your distribution vendor
Check Version:
uname -r
Verify Fix Applied:
Run close_range_test from kernel selftests to verify fix
📡 Detection & Monitoring
Log Indicators:
- Unusual close_range() system calls with CLOSE_RANGE_UNSHARE
- File descriptor table corruption errors
Network Indicators:
- None - local vulnerability only
SIEM Query:
process.name: close_range AND syscall.args.flags: CLOSE_RANGE_UNSHARE
🔗 References
- https://git.kernel.org/stable/c/5053581fe5dfb09b58c65dd8462bf5dea71f41ff
- https://git.kernel.org/stable/c/8cad3b2b3ab81ca55f37405ffd1315bcc2948058
- https://git.kernel.org/stable/c/9a2fa1472083580b6c66bdaf291f591e1170123a
- https://git.kernel.org/stable/c/c69d18f0ac7060de724511537810f10f29a27958
- https://git.kernel.org/stable/c/dd72ae8b0fce9c0bbe9582b9b50820f0407f8d8a
- https://git.kernel.org/stable/c/fe5bf14881701119aeeda7cf685f3c226c7380df
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html