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.
CVSS
No CVSS.
References
Configurations
No configuration.
History
19 Aug 2024, 12:59
Type | Values Removed | Values Added |
---|---|---|
Summary |
|
19 Aug 2024, 05:15
Type | Values Removed | Values Added |
---|---|---|
References |
|
17 Aug 2024, 09:15
Type | Values Removed | Values Added |
---|---|---|
New CVE |
Information
Published : 2024-08-17 09:15
Updated : 2024-08-19 12:59
NVD link : CVE-2024-42304
Mitre link : CVE-2024-42304
CVE.ORG link : CVE-2024-42304
JSON object : View
Products Affected
No product.
CWE
No CWE.