Skip to content
7.8 High

CVE-2024-42304 In the Linux kernel, the following vulnerability has been resolved: ext4: make sure the first directory block is not a…

Description

In the Linux kernel, the following vulnerability has been resolved: ext4: make sure the first directory block is not a hole The syzbot constructs a directory that has no dirblock but is non-inline, i.e. the first directory block is a hole. And no errors are reported when creating files in this directory in the following flow. ext4_mknod ... ext4_add_entry // Read block 0 ext4_read_dirblock(dir, block, DIRENT) bh = ext4_bread(NULL, inode, block, 0) if (!bh && (type == INDEX || type == DIRENT_HTREE)) // The first directory block is a hole // But type == DIRENT, so no error is reported. After that, we get a directory block without '.' and '..' but with a valid dentry. This may cause some code that relies on dot or dotdot (such as make_indexed_dir()) to crash. Therefore when ext4_read_dirblock() finds that the first directory block is a hole report that the filesystem is corrupted and return an error to avoid loading corrupted data from disk causing something bad.

Affected products and versions

Product Affected versions Fixed in
Linux 6.11 earliest → < 6.11 6.11
Linux 6.10 earliest → < 6.10.3 6.10.3
Linux 6.6 earliest → < 6.6.44 6.6.44
Linux 6.1 earliest → < 6.1.103 6.1.103
Linux 5.15 earliest → < 5.15.165 5.15.165
Linux 5.10 earliest → < 5.10.224 5.10.224
Linux 5.4 earliest → < 5.4.282 5.4.282
Linux 5.3 No fix stated
Linux 4.19 earliest → < 4.19.320 4.19.320
Show the other branch
Product Affected versions Fixed in
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem 1.1 earliest → < 1.1.1 1.1.1
The 18286 CVEs of Linux →
Track this CVE