CVE-2024-42304 ext4: make sure the first directory block is not a hole

High 7.8 Published Updated

A crafted ext4 filesystem with a hole in the first directory block can cause a kernel crash due to missing error handling.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-42304?

CVE-2024-42304 is a high-severity vulnerability in Linux kernel, published on 17 Aug 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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.

Which versions are affected by CVE-2024-42304?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-42304?

Apply the vendor's patch.

Is CVE-2024-42304 being exploited?

There is no known exploitation of CVE-2024-42304 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-42304, DEBIAN-CVE-2024-42304, GHSA-v546-2fcj-rwvx, UBUNTU-CVE-2024-42304.

Is CVE-2024-42304 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free