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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3a17ca864baffc0c6f6e8aad525aa4365775a193 to < d81d7e347d1f1f48a5634607d39eb90c161c8afeaffected4e19d6b65fb4fc42e352ce9883649e049da14743 to < e02f9941e8c011aa3eafa799def6a134ce06bcfaaffected4e19d6b65fb4fc42e352ce9883649e049da14743 to < de2a011a13a46468a6e8259db58b1b62071fe136affected4e19d6b65fb4fc42e352ce9883649e049da14743 to < 9771e3d8365ae1dd5e8846a204cb9af14e3e656aaffected4e19d6b65fb4fc42e352ce9883649e049da14743 to < b609753cbbd38f8c0affd4956c0af178348523acaffected4e19d6b65fb4fc42e352ce9883649e049da14743 to < c3893d9de8ee153baac56d127d844103488133b5affected4e19d6b65fb4fc42e352ce9883649e049da14743 to < 299bc6ffa57e04e74c6cce866d6c0741fb4897a1affected4e19d6b65fb4fc42e352ce9883649e049da14743 to < f9ca51596bbfd0f9c386dd1c613c394c78d9e5e6affected3f0307b0d2d8b333a6964fc4c820dc86896fd1cfaffected514631c2225c1fd556c799cc1893fb27b0f48f00affected7f1f86276515f6816a98f6ca3ef99c827d54642faffected5021b7a5bdd6bb859eb648c3da71cdd6aae1d133affected4.19.62 to < 4.19.320affected4.9.187 to < 4.10affected4.14.135 to < 4.15affected5.1.21 to < 5.2affected5.2.4 to < 5.3affected
Linux Linux
Default version status: affected
5.3affected0 to < 5.3unaffected4.19.320 to ≤ 4.19.*unaffected5.4.282 to ≤ 5.4.*unaffected5.10.224 to ≤ 5.10.*unaffected5.15.165 to ≤ 5.15.*unaffected6.1.103 to ≤ 6.1.*unaffected6.6.44 to ≤ 6.6.*unaffected6.10.3 to ≤ 6.10.*unaffected6.11 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d81d7e347d1f1f48a5634607d39eb90c161c8afe ↗
- https://git.kernel.org/stable/c/e02f9941e8c011aa3eafa799def6a134ce06bcfa ↗
- https://git.kernel.org/stable/c/de2a011a13a46468a6e8259db58b1b62071fe136 ↗
- https://git.kernel.org/stable/c/9771e3d8365ae1dd5e8846a204cb9af14e3e656a ↗
- https://git.kernel.org/stable/c/b609753cbbd38f8c0affd4956c0af178348523ac ↗
- https://git.kernel.org/stable/c/c3893d9de8ee153baac56d127d844103488133b5 ↗
- https://git.kernel.org/stable/c/299bc6ffa57e04e74c6cce866d6c0741fb4897a1 ↗
- https://git.kernel.org/stable/c/f9ca51596bbfd0f9c386dd1c613c394c78d9e5e6 ↗
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html ↗
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html ↗