CVE-2024-39469 nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors

High 7.1 Published Updated

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.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-39469, DEBIAN-CVE-2024-39469, GHSA-x53f-w58c-2223, UBUNTU-CVE-2024-39469.

Is CVE-2024-39469 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free