CVE-2024-49889·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: ext4: avoid use-after-free in ext4_ext_show_leaf() In ext4_find_extent(), path may be freed by error or be reallocated, so using a previously saved *ppath may have been freed and thus may trigger use-after-free, as follows: ext4_split_extent path = *ppath; ext4_split_extent_at(ppath) path = ext4_find_extent(ppath) ext4_split_extent_at(ppath) // ext4_find_extent fails to free path // but zeroout succeeds ext4_ext_show_leaf(inode, path) eh = path[depth].p_hdr // path use-after-free !!! Similar to ext4_split_extent_at(), we use *ppath directly as an input to ext4_ext_show_leaf(). Fix a spelling error by the way. Same problem in ext4_ext_handle_unwritten_extents(). Since 'path' is only used in ext4_ext_show_leaf(), remove 'path' and use *ppath directly. This issue is triggered only when EXT_DEBUG is defined and therefore does not affect functionality.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.11.3
- Published
- 2024-10-21
Affected versions
From: 6.11
Until: 6.11.3
Fixed in: 6.11.3
How to fix this CVE
Update your Linux kernel to version 6.11.3 or later to resolve a use-after-free vulnerability in the ext4 extent handling code. This flaw can lead to memory corruption when the EXT_DEBUG kernel debugging option is enabled. Systems with standard kernel configurations are unlikely to be affected, but patching is recommended for defense-in-depth security posture.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Run 'uname -r' to check your current kernel version; vulnerable versions are 6.11.0 through 6.11.2
- Verify if EXT_DEBUG is enabled by checking 'cat /boot/config-$(uname -r) | grep CONFIG_EXT_DEBUG' — if it returns 'CONFIG_EXT_DEBUG=y', the system is at risk
- Search system logs for kernel panics or memory corruption warnings with 'dmesg | grep -i 'use-after-free\|ext4\|memory'
- After patching, confirm the new kernel version is active by running 'uname -r' and verifying it matches 6.11.3 or later
FAQ
What is CVE-2024-49889?
CVE-2024-49889 is a use-after-free vulnerability in the Linux kernel's ext4 filesystem code that occurs when extent path structures are freed prematurely during split operations. This can cause memory corruption and kernel crashes when EXT_DEBUG is enabled.
Is CVE-2024-49889 being actively exploited?
No, this vulnerability is not currently being actively exploited in the wild, and no public exploit code is available. However, attackers with local kernel debugging capabilities could potentially craft an exploit.
What versions of Kernel are affected by CVE-2024-49889?
Linux kernel versions 6.11.0, 6.11.1, and 6.11.2 are vulnerable. Version 6.11.3 and all subsequent releases contain the fix.
How do I check if my server is vulnerable to CVE-2024-49889?
Run 'uname -r' to check your kernel version — if it shows 6.11.0 through 6.11.2, your system may be vulnerable. Additionally, run 'cat /boot/config-$(uname -r) | grep CONFIG_EXT_DEBUG' to determine if the debugging component is active.
Does Defensia detect CVE-2024-49889?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-49889 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/2eba3b0cc5b8de624918d21f32b5b8db59a90b39
- https://git.kernel.org/stable/c/34b2096380ba475771971a778a478661a791aa15
- https://git.kernel.org/stable/c/4999fed877bb64e3e7f9ab9996de2ca983c41928
- https://git.kernel.org/stable/c/4e2524ba2ca5f54bdbb9e5153bea00421ef653f5
- https://git.kernel.org/stable/c/8b114f2cc7dd5d36729d040b68432fbd0f0a8868
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-49889. Free for 1 server.
Get started free