CVE-2024-42304
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.
How to fix
- linux linux_kernel4.10, 4.15, 4.19.320, 5.2, 5.4.282, 5.10.224, 5.15.165, 6.1.103, 6.6.44, 6.10.3 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 4.9.187 ≤ v < 4.10, 4.14.135 ≤ v < 4.15, 4.19.62 ≤ v < 4.19.320, 5.1.21 ≤ v < 5.2, 5.2.4 ≤ v < 5.4.282, 5.5 ≤ v < 5.10.224, 5.11 ≤ v < 5.15.165, 5.16 ≤ v < 6.1.103, 6.2 ≤ v < 6.6.44, 6.7 ≤ v < 6.10.3 | 4.10, 4.15, 4.19.320, 5.2, 5.4.282, 5.10.224, 5.15.165, 6.1.103, 6.6.44, 6.10.3 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.