CVE-2024-35827
📋 TL;DR
This CVE describes an integer overflow vulnerability in the Linux kernel's io_uring subsystem. The flaw occurs when processing network messages, where improper casting could allow an attacker to bypass overflow checks and potentially cause memory corruption. This affects systems running vulnerable Linux kernel versions with io_uring enabled.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel memory corruption leading to privilege escalation, denial of service, or arbitrary code execution in kernel context.
Likely Case
Kernel panic or system crash causing denial of service.
If Mitigated
Limited impact if io_uring is disabled or access is restricted to trusted users.
🎯 Exploit Status
Exploitation requires local access and ability to trigger the vulnerable io_recvmsg_mshot_prep() function. No public exploits known at this time.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check git commits: 0c8c74bb59e7d77554016efc34c2d10376985e5e and related
Vendor Advisory: https://git.kernel.org/stable/c/0c8c74bb59e7d77554016efc34c2d10376985e5e
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 io_uring
linuxRemove or disable io_uring module if not required
echo 'blacklist io_uring' >> /etc/modprobe.d/blacklist.conf
rmmod io_uring
Restrict io_uring access
linuxLimit which users can access io_uring functionality
chmod 600 /dev/io_uring*
setfacl -m u:root:rw- /dev/io_uring*
🧯 If You Can't Patch
- Implement strict access controls to limit which users can use io_uring functionality
- Monitor systems for crashes or unusual behavior related to network operations
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with patched versions in git commits. Examine if io_uring is loaded: lsmod | grep io_uring
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version after update matches patched version. Check that io_uring module loads without errors.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- System crashes
- io_uring related errors in dmesg
Network Indicators:
- Unusual io_uring system calls from non-privileged users
SIEM Query:
process.name: 'io_uring' AND event.action: 'system_call' AND user.name NOT IN ('root', 'system')
🔗 References
- https://git.kernel.org/stable/c/0c8c74bb59e7d77554016efc34c2d10376985e5e
- https://git.kernel.org/stable/c/59a534690ecc3af72c6ab121aeac1237a4adae66
- https://git.kernel.org/stable/c/868ec868616438df487b9e2baa5a99f8662cc47c
- https://git.kernel.org/stable/c/8ede3db5061bb1fe28e2c9683329aafa89d2b1b4
- https://git.kernel.org/stable/c/b6563ad0d599110bd5cf8f56c47d279c3ed796fe
- https://git.kernel.org/stable/c/0c8c74bb59e7d77554016efc34c2d10376985e5e
- https://git.kernel.org/stable/c/59a534690ecc3af72c6ab121aeac1237a4adae66
- https://git.kernel.org/stable/c/868ec868616438df487b9e2baa5a99f8662cc47c
- https://git.kernel.org/stable/c/8ede3db5061bb1fe28e2c9683329aafa89d2b1b4
- https://git.kernel.org/stable/c/b6563ad0d599110bd5cf8f56c47d279c3ed796fe