CVE-2024-26988·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: init/main.c: Fix potential static_command_line memory overflow We allocate memory of size 'xlen + strlen(boot_command_line) + 1' for static_command_line, but the strings copied into static_command_line are extra_command_line and command_line, rather than extra_command_line and boot_command_line. When strlen(command_line) > strlen(boot_command_line), static_command_line will overflow. This patch just recovers strlen(command_line) which was miss-consolidated with strlen(boot_command_line) in the commit f5c7310ac73e ("init/main: add checks for the return value of memblock_alloc*()")
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.8.8
- Published
- 2024-05-01
Affected versions
From: 6.7
Until: 6.8.8
Fixed in: 6.8.8
How to fix this CVE
Update your Linux kernel to version 6.8.8 or later to resolve a memory buffer overflow vulnerability in the kernel's command-line initialization logic. This issue affects kernel versions 6.7 through 6.8.8 and can lead to kernel memory corruption during boot when certain command-line argument configurations are used. Prioritize this update for production systems to prevent potential denial of service or privilege escalation.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version with `uname -r` and compare against the vulnerable range 6.7.x through 6.8.8
- Step 2: Verify if your kernel was compiled with the vulnerable init/main.c code by checking `cat /boot/config-$(uname -r) | grep CONFIG_CMDLINE` to see active boot parameters
- Step 3: Search system logs for kernel panics or memory corruption errors around boot time with `dmesg | grep -i overflow` or `journalctl -b | grep -i panic`
- Step 4: After updating, run `uname -r` to confirm the new kernel version is 6.8.8 or later, then reboot and verify the system boots without memory-related errors
FAQ
What is CVE-2024-26988?
CVE-2024-26988 is a memory buffer overflow vulnerability in the Linux kernel's initialization code where the static_command_line buffer is allocated with an incorrect size calculation, using strlen(boot_command_line) instead of strlen(command_line). When the command-line arguments are longer than expected, this causes a heap overflow that can corrupt kernel memory.
Is CVE-2024-26988 being actively exploited?
No, CVE-2024-26988 is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available at this time.
What versions of Kernel are affected by CVE-2024-26988?
Linux kernel versions from 6.7.0 through 6.8.8 are affected. The vulnerability was introduced in an earlier commit and propagated through these releases.
How do I check if my server is vulnerable to CVE-2024-26988?
Run `uname -r` to check your kernel version. If it shows 6.7.x or 6.8.x (with x less than 8), your system is vulnerable and requires an immediate update.
Does Defensia detect CVE-2024-26988?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-26988 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0dc727a4e05400205358a22c3d01ccad2c8e1fe4
- https://git.kernel.org/stable/c/2ef607ea103616aec0289f1b65d103d499fa903a
- https://git.kernel.org/stable/c/46dad3c1e57897ab9228332f03e1c14798d2d3b9
- https://git.kernel.org/stable/c/76c2f4d426a5358fced5d5990744d46f10a4ccea
- https://git.kernel.org/stable/c/81cf85ae4f2dd5fa3e43021782aa72c4c85558e8
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-26988. Free for 1 server.
Get started free