CVE-2024-39469 nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
A flaw in the nilfs2 filesystem driver causes a long loop and system hang when I/O errors occur, leading to denial of service.
- 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-39469?
CVE-2024-39469 is a high-severity denial of service vulnerability in Linux kernel, published on 25 Jun 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:
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.
Which versions are affected by CVE-2024-39469?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-39469?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-39469 being exploited?
There is no known exploitation of CVE-2024-39469 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2024-39469, DEBIAN-CVE-2024-39469, GHSA-x53f-w58c-2223, UBUNTU-CVE-2024-39469.