Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2024-49889

ext4: avoid use-after-free in ext4_ext_show_leaf()

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < b0cb4561fc4284d04e69c8a66c8504928ab2484eaffected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < 4999fed877bb64e3e7f9ab9996de2ca983c41928affected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < 2eba3b0cc5b8de624918d21f32b5b8db59a90b39affected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < 34b2096380ba475771971a778a478661a791aa15affected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < 8b114f2cc7dd5d36729d040b68432fbd0f0a8868affected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < d483c7cc1796bd6a80e7b3a8fd494996260f6b67affected
  • dfe5080939ea4686b3414b5d970a9b26733c57a4 to < 4e2524ba2ca5f54bdbb9e5153bea00421ef653f5affected

Linux Linux

Default version status: affected

  • 3.18affected
  • 0 to < 3.18unaffected
  • 5.10.227 to ≤ 5.10.*unaffected
  • 5.15.168 to ≤ 5.15.*unaffected
  • 6.1.113 to ≤ 6.1.*unaffected
  • 6.6.55 to ≤ 6.6.*unaffected
  • 6.10.14 to ≤ 6.10.*unaffected
  • 6.11.3 to ≤ 6.11.*unaffected
  • 6.12 to ≤ *unaffected

References