CVE-2024-42304

MEDIUMCVSS 5.5/10EPSS 0.22%

Last modified

CVE-2024-42304 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. 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. EPSS estimates a 0.22% chance of exploitation in the next 30 days.

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.

Metrics

CVSS 3.1
5.5/10

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

EPSS Probability
0.22%

12.9th percentile

Probability of exploitation in the next 30 days. Learn more

Affected Software

VendorProductVersions
LinuxLinux Kernel>= 4.9.187, < 4.10
LinuxLinux Kernel>= 4.14.135, < 4.15
LinuxLinux Kernel>= 4.19.62, < 4.19.320
LinuxLinux Kernel>= 5.1.21, < 5.2
LinuxLinux Kernel>= 5.2.4, < 5.4.282
LinuxLinux Kernel>= 5.5, < 5.10.224
LinuxLinux Kernel>= 5.11, < 5.15.165
LinuxLinux Kernel>= 5.16, < 6.1.103
LinuxLinux Kernel>= 6.2, < 6.6.44
LinuxLinux Kernel>= 6.7, < 6.10.3

References

Timeline

Published
Last Modified
Status
Modified

Frequently Asked Questions

What is CVE-2024-42304?
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 severe is CVE-2024-42304?
CVE-2024-42304 has a CVSS score of 5.5/10 (MEDIUM severity). The EPSS model estimates a 0.22% probability of exploitation in the next 30 days.
How do I fix CVE-2024-42304?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

Are you affected by CVE-2024-42304?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST