CVE-2026-74307

CVE-2026-74307

published August 15, 2026

CVSS
—
EPSS
0%
Percentile
5.8
In the wild
Unconfirmed
What it is

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

ext4: validate donor file superblock early in EXT4_IOC_MOVE_EXT

Reject the EXT4_IOC_MOVE_EXT ioctl early if the donor file does not

belong to the same superblock as the original file. Currently, this

validation is performed inside ext4_move_extents() by

mext_check_validity(), but only after lock_two_nondirectories() has

already acquired the inode locks. When the donor fd refers to a file

on a different filesystem (e.g., overlayfs), this late validation

creates a circular lock dependency:

CPU0 (overlayfs write) CPU1 (ext4 ioctl)

---- ----

inode_lock(ovl_inode)

mnt_want_write_file(filp)

sb_start_write(ext4_sb) [sb_writers]

backing_file_write_iter()

vfs_iter_write(real_file)

file_start_write(real_file)

sb_start_write(ext4_sb) [blocked by freeze]

lock_two_nondirectories()

inode_lock(ovl_inode) [blocked]

With a concurrent freeze operation holding sb_writers write side, this

forms a deadlock cycle: CPU0 waits for freeze to complete, freeze waits

for CPU1's sb_writers reader to exit, CPU1 waits for CPU0's inode lock.

Since EXT4_IOC_MOVE_EXT exchanges physical extents between two files,

it fundamentally requires both files to reside on the same ext4

filesystem. Moving the superblock check before any lock acquisition

is both semantically correct and eliminates the circular dependency

by ensuring that cross-filesystem donor fds are rejected before

sb_writers or inode locks are taken.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00168 · 5.8th percentile
Published
2026-08-15T10:22Z
References (5)
EPSS history
Timeline
  • 15 AUG 05:58Z
    ext4: validate donor file superblock early in EXT4_IOC_MOVE_EXT
    cvelistv5