CVE-2024-49889
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
21/10/2024
Last modified:
25/10/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: avoid use-after-free in ext4_ext_show_leaf()<br />
<br />
In ext4_find_extent(), path may be freed by error or be reallocated, so<br />
using a previously saved *ppath may have been freed and thus may trigger<br />
use-after-free, as follows:<br />
<br />
ext4_split_extent<br />
path = *ppath;<br />
ext4_split_extent_at(ppath)<br />
path = ext4_find_extent(ppath)<br />
ext4_split_extent_at(ppath)<br />
// ext4_find_extent fails to free path<br />
// but zeroout succeeds<br />
ext4_ext_show_leaf(inode, path)<br />
eh = path[depth].p_hdr<br />
// path use-after-free !!!<br />
<br />
Similar to ext4_split_extent_at(), we use *ppath directly as an input to<br />
ext4_ext_show_leaf(). Fix a spelling error by the way.<br />
<br />
Same problem in ext4_ext_handle_unwritten_extents(). Since &#39;path&#39; is only<br />
used in ext4_ext_show_leaf(), remove &#39;path&#39; and use *ppath directly.<br />
<br />
This issue is triggered only when EXT_DEBUG is defined and therefore does<br />
not affect functionality.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.227 (excluding) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.168 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.55 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.14 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (including) | 6.11.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- 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
- https://git.kernel.org/stable/c/b0cb4561fc4284d04e69c8a66c8504928ab2484e
- https://git.kernel.org/stable/c/d483c7cc1796bd6a80e7b3a8fd494996260f6b67