CVE-2024-42304

NameCVE-2024-42304
DescriptionIn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3912-1, ELA-1219-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
linux (PTS)jessie, jessie (lts)3.16.84-1vulnerable
stretch (security)4.9.320-2vulnerable
stretch (lts), stretch4.9.320-3vulnerable
buster (security), buster, buster (lts)4.19.316-1vulnerable
bullseye5.10.223-1vulnerable
bullseye (security)5.10.226-1fixed
bookworm6.1.115-1fixed
bookworm (security)6.1.119-1fixed
trixie6.12.5-1fixed
sid6.12.6-1fixed
linux-5.10 (PTS)jessie, jessie (lts)5.10.226-1~deb8u1fixed
stretch (lts), stretch5.10.226-1~deb9u1fixed
buster, buster (lts)5.10.226-1~deb10u1fixed
buster (security)5.10.218-1~deb10u1vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
linuxsourcejessie(unfixed)end-of-life
linuxsourcestretch(unfixed)end-of-life
linuxsourcebuster(unfixed)end-of-life
linuxsourcebullseye5.10.226-1DLA-3912-1
linuxsourcebookworm6.1.106-1
linuxsource(unstable)6.10.3-1
linux-5.10sourcejessie5.10.226-1~deb8u1ELA-1219-1
linux-5.10sourcestretch5.10.226-1~deb9u1ELA-1219-1
linux-5.10sourcebuster5.10.226-1~deb10u1ELA-1219-1

Notes

https://git.kernel.org/linus/f9ca51596bbfd0f9c386dd1c613c394c78d9e5e6 (6.11-rc1)

Search for package or bug name: Reporting problems