CVE-2024-49883: ext4: aovid use-after-free in ext4_ext_insert_extent()
In the Linux kernel, the following vulnerability has been resolved:
ext4: aovid use-after-free in ext4_ext_insert_extent()
As Ojaswin mentioned in Link, in ext4_ext_insert_extent(), if the path is
reallocated in ext4_ext_create_new_leaf(), we'll use the stale path and
cause UAF. Below is a sample trace with dummy values:
ext4_ext_insert_extent
path = *ppath = 2000
ext4_ext_create_new_leaf(ppath)
ext4_find_extent(ppath)
path = *ppath = 2000
if (depth > path[0].p_maxdepth)
kfree(path = 2000);
*ppath = path = NULL;
path = kcalloc() = 3000
*ppath = 3000;
return path;
/* here path is still 2000, UAF! */
eh = path[depth].p_hdr
==================================================================
BUG: KASAN: slab-use-after-free in ext4_ext_insert_extent+0x26d4/0x3330
Read of size 8 at addr ffff8881027bf7d0 by task kworker/u36:1/179
CPU: 3 UID: 0 PID: 179 Comm: kworker/u6:1 Not tainted 6.11.0-rc2-dirty #866
Call Trace:
<TASK>
ext4_ext_insert_extent+0x26d4/0x3330
ext4_ext_map_blocks+0xe22/0x2d40
ext4_map_blocks+0x71e/0x1700
ext4_do_writepages+0x1290/0x2800
[...]
Allocated by task 179:
ext4_find_extent+0x81c/0x1f70
ext4_ext_map_blocks+0x146/0x2d40
ext4_map_blocks+0x71e/0x1700
ext4_do_writepages+0x1290/0x2800
ext4_writepages+0x26d/0x4e0
do_writepages+0x175/0x700
[...]
Freed by task 179:
kfree+0xcb/0x240
ext4_find_extent+0x7c0/0x1f70
ext4_ext_insert_extent+0xa26/0x3330
ext4_ext_map_blocks+0xe22/0x2d40
ext4_map_blocks+0x71e/0x1700
ext4_do_writepages+0x1290/0x2800
ext4_writepages+0x26d/0x4e0
do_writepages+0x175/0x700
[...]
==================================================================
So use *ppath to update the path to avoid the above problem.
Security readout for executives and security teams
Plain-English summary
A Linux ext4 filesystem flaw can make the kernel access memory after freeing it during file allocation. A low-privileged local user may be able to trigger system compromise or disruption. The supplied CVSS score is 7.8. Sanitizer evidence confirms the memory error, but the sources provide no evidence of real-world exploitation.
Executive priority
Treat as a high-priority kernel maintenance issue on multi-user systems, shared compute hosts, and other machines permitting untrusted local execution. Schedule vendor-confirmed kernel updates and required reboots promptly. Internet exposure alone does not establish direct reachability because the supplied attack vector is local.
Technical view
When ext4_ext_create_new_leaf reallocates the extent path through ext4_find_extent, ext4_ext_insert_extent can retain and dereference the freed path. The supplied KASAN trace shows a slab use-after-free during writeback. The correction refreshes the local path from *ppath after reallocation. Linux stable fixes are referenced for multiple kernel branches.
Likely exposure
Systems running affected Linux kernels with writable ext4 filesystems are candidates. Exposure is lower where untrusted users cannot execute locally because the supplied vector is local and requires low privileges. The version data does not reliably map every distribution kernel or vendor backport; verify the running package against vendor advisories and fix history.
Exploitation context
CISA KEV status is false, and the bundle cites no exploitation in the wild or public exploit. Demonstrated evidence is a KASAN failure trace. Practical impact beyond denial of service is not established by the supplied sources, although the CVSS assessment assigns high confidentiality, integrity, and availability impacts.
Researcher notes
The root cause is stale pointer use after *ppath is replaced during extent-tree path reallocation. The trace establishes an invalid eight-byte read in ext4_ext_insert_extent. The bundle does not establish reliable exploitation, affected distribution package ranges, or whether confidentiality and integrity impact is practically achievable.
Mitigation direction
Upgrade to a vendor-supported kernel confirmed to fix CVE-2024-49883.
For custom kernels, apply the appropriate referenced stable commit through the normal release process.
Reboot into the corrected kernel; installing a package alone does not replace the running kernel.
Until corrected, reduce untrusted local access to systems using writable ext4 filesystems.
Validation and detection
Record the running kernel and distribution package release, not only installed package versions.
Confirm vendor guidance or source history maps the running kernel to a referenced fix.
Inventory mounted ext4 filesystems and identify untrusted local principals able to initiate writes.
After remediation, verify the corrected kernel is running and test normal ext4 write workloads.
Review kernel logs for related use-after-free reports; absence of errors does not prove safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-49883 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.