CVE-2024-50015

MediumCVSS 5.5/10Last modified Oct 15, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

ext4: dax: fix overflowing extents beyond inode size when partially writing

The dax_iomap_rw() does two things in each iteration: map written blocks and copy user data to blocks. If the process is killed by user(See signal handling in dax_iomap_iter()), the copied data will be returned and added on inode size, which means that the length of written extents may exceed the inode size, then fsck will fail. An example is given as:

dd if=/dev/urandom of=file bs=4M count=1 dax_iomap_rw iomap_iter // round 1 ext4_iomap_begin ext4_iomap_alloc // allocate 0~2M extents(written flag) dax_iomap_iter // copy 2M data iomap_iter // round 2 iomap_iter_advance iter->pos += iter->processed // iter->pos = 2M ext4_iomap_begin ext4_iomap_alloc // allocate 2~4M extents(written flag) dax_iomap_iter fatal_signal_pending done = iter->pos - iocb->ki_pos // done = 2M ext4_handle_inode_extension ext4_update_inode_size // inode size = 2M

fsck reports: Inode 13, i_size is 2097152, should be 4194304. Fix?

Fix the problem by truncating extents if the written length is smaller than expected.

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected software

VendorProductVersions
LinuxLinux>= 776722e85d3b0936253ecc3d14db4fba37f191ba, < f8a7c342326f6ad1dfdb30a18dd013c70f5e9669; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < 8c30a9a8610c314554997f86370140746aa35661; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < abfaa876b948baaea4d14f21a1963789845c8b4c; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < 5efccdee4a7d507a483f20f880b809cc4eaef14d; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < a9f331f51515bdb3ebc8d0963131af367ef468f6; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < ec0dd451e236c46e4858d53e9e82bae7797a7af5; >= 776722e85d3b0936253ecc3d14db4fba37f191ba, < dda898d7ffe85931f9cca6d702a51f33717c501e
LinuxLinux4.10
SiemensSIMATIC S7-1500 TM MFP - GNU/Linux subsystem< V1.1.1
SiemensRUGGEDCOM RST2428P< V3.2
SiemensSCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family< V3.2
SiemensSCALANCE XCM-/XRM-/XCH-/XRH-300 family< V3.2

References

Timeline

Published
Oct 21, 2024
Last modified
Oct 15, 2026
NVD status
Modified

Related CVEs from 2024

CVE-2024-500175.5In the Linux kernel, the following vulnerability has been resolved: x86/mm/ident_map: Use gbpages only where full GB page should be mapped.CVE-2024-500195.5In the Linux kernel, the following vulnerability has been resolved: kthread: unpark only parked kthread Calling into kthread unparking uncCVE-2024-50024.8The User Submitted Posts WordPress plugin before 20240516 does not sanitise and escape some of its settings, which could allow high privileCVE-2024-500205.5In the Linux kernel, the following vulnerability has been resolved: ice: Fix improper handling of refcount in ice_sriov_set_msix_vec_count(CVE-2024-500215.5In the Linux kernel, the following vulnerability has been resolved: ice: Fix improper handling of refcount in ice_dpll_init_rclk_pins() ThCVE-2024-500225.5In the Linux kernel, the following vulnerability has been resolved: device-dax: correct pgoff align in dax_set_mapping() pgoff should be aCVE-2024-500235.5In the Linux kernel, the following vulnerability has been resolved: net: phy: Remove LED entry from LEDs list on unregister Commit c938ab4CVE-2024-500245.5In the Linux kernel, the following vulnerability has been resolved: net: Fix an unsafe loop on the list The kernel may crash when deletingCVE-2024-500255.5In the Linux kernel, the following vulnerability has been resolved: scsi: fnic: Move flush_work initialization out of if block After commiCVE-2024-500265.5In the Linux kernel, the following vulnerability has been resolved: scsi: wd33c93: Don't use stale scsi_pointer value A regression was intCVE-2024-500275.5In the Linux kernel, the following vulnerability has been resolved: thermal: core: Free tzp copy along with the thermal zone The object poCVE-2024-500285.5In the Linux kernel, the following vulnerability has been resolved: thermal: core: Reference count the zone in thermal_zone_get_by_id() Th
CVE-2024-50015: Medium severity, CVSS 5.5 | Vulnix