CVE-2024-49889

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

HIGH
7.8
CVSS Score
Published: October 21, 2024 at 06:01 PM UTC
Updated: October 15, 2026 at 01:18 AM UTC
12 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 TM MFPRUGGEDCOM RST2428P Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

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

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

All versionsv < 5.10.2275.11 ≤ v < 5.15.1685.16 ≤ v < 6.1.1136.11 ≤ v < 6.11.36.2 ≤ v < 6.6.556.7 ≤ v < 6.10.143.18dfe5080939ea4686b3414b5d970a9b26733c57a4
Vendor states this is fixed in 2eba3b0cc5b8de624918d21f32b5b8db59a90b39 (fixed)
Vendor states this is fixed in 34b2096380ba475771971a778a478661a791aa15 (fixed)
Vendor states this is fixed in 4999fed877bb64e3e7f9ab9996de2ca983c41928 (fixed)
Vendor states this is fixed in 4e2524ba2ca5f54bdbb9e5153bea00421ef653f5 (fixed)
Vendor states this is fixed in 8b114f2cc7dd5d36729d040b68432fbd0f0a8868 (fixed)
Vendor states this is fixed in b0cb4561fc4284d04e69c8a66c8504928ab2484e (fixed)
Vendor states this is fixed in d483c7cc1796bd6a80e7b3a8fd494996260f6b67 (fixed)
Vendor states this is fixed in 3.18 (unaffected)
Vendor states this is fixed in 5.10.227 (unaffected)
Vendor states this is fixed in 5.15.168 (unaffected)
Vendor states this is fixed in 6.1.113 (unaffected)
Vendor states this is fixed in 6.10.14 (unaffected)
Vendor states this is fixed in 6.11.3 (unaffected)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.6.55 (unaffected)
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement

References (11)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2eba3b0cc5b8de624918d21f32b5b8db59a90b39
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/34b2096380ba475771971a778a478661a791aa15
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4999fed877bb64e3e7f9ab9996de2ca983c41928
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4e2524ba2ca5f54bdbb9e5153bea00421ef653f5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8b114f2cc7dd5d36729d040b68432fbd0f0a8868
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b0cb4561fc4284d04e69c8a66c8504928ab2484e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d483c7cc1796bd6a80e7b3a8fd494996260f6b67
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card