U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Vulnerability Change Records for CVE-2024-42304

Change History

New CVE Received by NIST 8/17/2024 5:15:10 AM

Action Type Old Value New Value
Added 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.
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/299bc6ffa57e04e74c6cce866d6c0741fb4897a1 [No types assigned]
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/b609753cbbd38f8c0affd4956c0af178348523ac [No types assigned]
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/c3893d9de8ee153baac56d127d844103488133b5 [No types assigned]
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/f9ca51596bbfd0f9c386dd1c613c394c78d9e5e6 [No types assigned]