CVE-2024-42104: nilfs2: add missing check for inode numbers on directory entries
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: add missing check for inode numbers on directory entries
Syzbot reported that mounting and unmounting a specific pattern of corrupted nilfs2 filesystem images causes a use-after-free of metadata file inodes, which triggers a kernel bug in lruaddfn().
As Jan Kara pointed out, this is because the link count of a metadata file gets corrupted to 0, and nilfsevictinode(), which is called from iput(), tries to delete that inode (ifile inode in this case).
The inconsistency occurs because directories containing the inode numbers of these metadata files that should not be visible in the namespace are read without checking.
Fix this issue by treating the inode numbers of these internal files as errors in the sanity check helper when reading directory folios/pages.
Also thanks to Hillf Danton and Matthew Wilcox for their initial mm-layer analysis.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1
Event History
Frequently Asked Questions
What is the severity of CVE-2024-42104?
CVE-2024-42104 has a high severity rating due to potential use-after-free vulnerabilities in the Linux kernel.
How do I fix CVE-2024-42104?
To fix CVE-2024-42104, upgrade your Linux kernel to version 5.10.223-1 or later.
Which Linux kernel versions are affected by CVE-2024-42104?
CVE-2024-42104 affects Linux kernel versions before 4.19.318 and between 4.20 and 6.6.39.
What is the impact of CVE-2024-42104?
CVE-2024-42104 can lead to potential data corruption or system crashes when handling corrupted nilfs2 filesystem images.
Is CVE-2024-42104 present in Debian kernels?
Yes, CVE-2024-42104 exists in some Debian kernel packages, including versions prior to the patched releases.