CVE-2024-39469·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors The error handling in nilfs_empty_dir() when a directory folio/page read fails is incorrect, as in the old ext2 implementation, and if the folio/page cannot be read or nilfs_check_folio() fails, it will falsely determine the directory as empty and corrupt the file system. In addition, since nilfs_empty_dir() does not immediately return on a failed folio/page read, but continues to loop, this can cause a long loop with I/O if i_size of the directory's inode is also corrupted, causing the log writer thread to wait and hang, as reported by syzbot. Fix these issues by making nilfs_empty_dir() immediately return a false value (0) if it fails to get a directory folio/page.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.5
- Published
- 2024-06-25
Affected versions
From: 6.7
Until: 6.9.5
Fixed in: 6.9.5
How to fix this CVE
Update your Linux kernel to version 6.9.5 or later to resolve a critical directory validation flaw in the NILFS2 filesystem. This vulnerability causes incorrect empty directory detection and potential filesystem corruption. Systems running kernel versions 6.7 through 6.9.4 should apply this update immediately through your distribution's package manager.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version with `uname -r` and verify if it falls between 6.7 and 6.9.4
- Step 2: Confirm NILFS2 filesystem usage on your system by running `mount | grep nilfs2` or checking `/etc/fstab` for nilfs2 entries
- Step 3: Review kernel logs for I/O errors related to directory folio reads with `sudo journalctl -xb | grep -i 'nilfs\|folio\|directory'`
- Step 4: After patching, verify the new kernel version loads with `uname -r` and confirm no persistent NILFS2 corruption with `sudo fsck.nilfs2 -n /dev/[device]` (read-only check)
FAQ
What is CVE-2024-39469?
This vulnerability affects the NILFS2 filesystem driver in the Linux kernel, causing incorrect directory validation logic that can falsely identify non-empty directories as empty, leading to filesystem corruption and potential data loss. Additionally, failed directory page reads trigger infinite loops during I/O errors, causing kernel threads to hang.
Is CVE-2024-39469 being actively exploited?
No, this CVE is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no public exploits are available. However, the vulnerability can be triggered through malformed filesystem structures or I/O degradation.
What versions of Kernel are affected by CVE-2024-39469?
Linux kernel versions 6.7 through 6.9.4 are vulnerable. The fix is included in kernel 6.9.5 and later.
How do I check if my server is vulnerable to CVE-2024-39469?
Run `uname -r` to check your kernel version; if it returns a version between 6.7 and 6.9.4, you are vulnerable. Then run `mount | grep nilfs2` to confirm NILFS2 usage on your system.
Does Defensia detect CVE-2024-39469?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-39469 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/11a2edb70356a2202dcb7c9c189c8356ab4752cd
- https://git.kernel.org/stable/c/129dcd3e7d036218db3f59c82d82004b9539ed82
- https://git.kernel.org/stable/c/2ac8a2fe22bdde9eecce2a42cf5cab79333fb428
- https://git.kernel.org/stable/c/405b71f1251e5ae865f53bd27c45114e6c83bee3
- https://git.kernel.org/stable/c/59f14875a96ef93f05b82ad3c980605f2cb444b5
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-39469. Free for 1 server.
Get started free