CVE-2024-37356
📋 TL;DR
This CVE describes an integer overflow vulnerability in the Linux kernel's DCTCP congestion control module. Attackers with local access can trigger a shift-out-of-bounds error by writing large values to the dctcp_shift_g module parameter, potentially causing kernel crashes or instability. This affects systems using the DCTCP congestion control algorithm.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially disrupting network connectivity and system availability.
Likely Case
Local denial of service through kernel crash or instability, requiring system reboot to recover.
If Mitigated
No impact if proper access controls prevent unauthorized users from writing to module parameters.
🎯 Exploit Status
Syzkaller fuzzer discovered and demonstrated the exploit. Requires local access and ability to write to sysfs module parameters.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 02261d3f9dc7d1d7be7d778f839e3404ab99034c, 06d0fe049b51b0a92a70df8333fd85c4ba3eb2c6, 237340dee373b97833a491d2e99fcf1d4a9adafd, 3ebc46ca8675de6378e3f8f40768e180bb8afa66, 6aacaa80d962f4916ccf90e2080306cec6c90fcf
Vendor Advisory: https://git.kernel.org/stable/c/02261d3f9dc7d1d7be7d778f839e3404ab99034c
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify fix by checking kernel version and attempting to write invalid values to dctcp_shift_g parameter.
🔧 Temporary Workarounds
Restrict sysfs parameter access
linuxLimit write access to the vulnerable module parameter to prevent exploitation
chmod 644 /sys/module/tcp_dctcp/parameters/dctcp_shift_g
chown root:root /sys/module/tcp_dctcp/parameters/dctcp_shift_g
Disable DCTCP module
linuxUnload the tcp_dctcp module if not required
rmmod tcp_dctcp
🧯 If You Can't Patch
- Implement strict access controls on /sys/module/tcp_dctcp/parameters/ directory
- Monitor for unauthorized attempts to write to kernel module parameters
🔍 How to Verify
Check if Vulnerable:
Check if kernel version is vulnerable and DCTCP module is loaded: lsmod | grep tcp_dctcp
Check Version:
uname -r
Verify Fix Applied:
Attempt to write invalid value: echo 100 > /sys/module/tcp_dctcp/parameters/dctcp_shift_g 2>/dev/null && echo 'VULNERABLE' || echo 'PATCHED'
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs
- UBSAN shift-out-of-bounds warnings in kernel logs
- Failed write attempts to dctcp_shift_g parameter
Network Indicators:
- Sudden TCP connection drops on systems using DCTCP
SIEM Query:
source="kernel" AND ("shift-out-of-bounds" OR "dctcp_update_alpha" OR "UBSAN")
🔗 References
- https://git.kernel.org/stable/c/02261d3f9dc7d1d7be7d778f839e3404ab99034c
- https://git.kernel.org/stable/c/06d0fe049b51b0a92a70df8333fd85c4ba3eb2c6
- https://git.kernel.org/stable/c/237340dee373b97833a491d2e99fcf1d4a9adafd
- https://git.kernel.org/stable/c/3ebc46ca8675de6378e3f8f40768e180bb8afa66
- https://git.kernel.org/stable/c/6aacaa80d962f4916ccf90e2080306cec6c90fcf
- https://git.kernel.org/stable/c/8602150286a2a860a1dc55cbd04f99316f19b40a
- https://git.kernel.org/stable/c/e65d13ec00a738fa7661925fd5929ab3c765d4be
- https://git.kernel.org/stable/c/e9b2f60636d18dfd0dd4965b3316f88dfd6a2b31
- https://git.kernel.org/stable/c/02261d3f9dc7d1d7be7d778f839e3404ab99034c
- https://git.kernel.org/stable/c/06d0fe049b51b0a92a70df8333fd85c4ba3eb2c6
- https://git.kernel.org/stable/c/237340dee373b97833a491d2e99fcf1d4a9adafd
- https://git.kernel.org/stable/c/3ebc46ca8675de6378e3f8f40768e180bb8afa66
- https://git.kernel.org/stable/c/6aacaa80d962f4916ccf90e2080306cec6c90fcf
- https://git.kernel.org/stable/c/8602150286a2a860a1dc55cbd04f99316f19b40a
- https://git.kernel.org/stable/c/e65d13ec00a738fa7661925fd5929ab3c765d4be
- https://git.kernel.org/stable/c/e9b2f60636d18dfd0dd4965b3316f88dfd6a2b31
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html