CVE-2024-49889

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

25 Oct 2024, 14:37

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/2eba3b0cc5b8de624918d21f32b5b8db59a90b39 - () https://git.kernel.org/stable/c/2eba3b0cc5b8de624918d21f32b5b8db59a90b39 - Patch
References () https://git.kernel.org/stable/c/34b2096380ba475771971a778a478661a791aa15 - () https://git.kernel.org/stable/c/34b2096380ba475771971a778a478661a791aa15 - Patch
References () https://git.kernel.org/stable/c/4999fed877bb64e3e7f9ab9996de2ca983c41928 - () https://git.kernel.org/stable/c/4999fed877bb64e3e7f9ab9996de2ca983c41928 - Patch
References () https://git.kernel.org/stable/c/4e2524ba2ca5f54bdbb9e5153bea00421ef653f5 - () https://git.kernel.org/stable/c/4e2524ba2ca5f54bdbb9e5153bea00421ef653f5 - Patch
References () https://git.kernel.org/stable/c/8b114f2cc7dd5d36729d040b68432fbd0f0a8868 - () https://git.kernel.org/stable/c/8b114f2cc7dd5d36729d040b68432fbd0f0a8868 - Patch
References () https://git.kernel.org/stable/c/b0cb4561fc4284d04e69c8a66c8504928ab2484e - () https://git.kernel.org/stable/c/b0cb4561fc4284d04e69c8a66c8504928ab2484e - Patch
References () https://git.kernel.org/stable/c/d483c7cc1796bd6a80e7b3a8fd494996260f6b67 - () https://git.kernel.org/stable/c/d483c7cc1796bd6a80e7b3a8fd494996260f6b67 - Patch
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-416

23 Oct 2024, 15:13

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ext4: evitar use after free en ext4_ext_show_leaf() En ext4_find_extent(), path puede liberarse por error o reasignarse, por lo que el uso de un *ppath previamente guardado puede haberse liberado y, por lo tanto, puede activar el use after free, de la siguiente manera: ext4_split_extent path = *ppath; ext4_split_extent_at(ppath) path = ext4_find_extent(ppath) ext4_split_extent_at(ppath) // ext4_find_extent no puede liberar path // pero la puesta a cero tiene éxito ext4_ext_show_leaf(inode, path) eh = path[depth].p_hdr // use after free de path !!! De manera similar a ext4_split_extent_at(), usamos *ppath directamente como entrada para ext4_ext_show_leaf(). Por cierto, corrige un error ortográfico. El mismo problema en ext4_ext_handle_unwritten_extents(). Dado que 'path' solo se usa en ext4_ext_show_leaf(), elimine 'path' y use *ppath directamente. Este problema se activa solo cuando se define EXT_DEBUG y, por lo tanto, no afecta la funcionalidad.

21 Oct 2024, 18:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-10-21 18:15

Updated : 2024-10-25 14:37


NVD link : CVE-2024-49889

Mitre link : CVE-2024-49889

CVE.ORG link : CVE-2024-49889


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free