CVE-2024-42315 exfat: fix potential deadlock on __exfat_get_dentry_set

Medium 5.5 Published Updated

A race condition in the Linux kernel exFAT filesystem can cause a deadlock, leading to a 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-42315?

CVE-2024-42315 is a medium-severity vulnerability in Linux kernel, published on 17 Aug 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:

exfat: fix potential deadlock on __exfat_get_dentry_set

When accessing a file with more entries than ES_MAX_ENTRY_NUM, the bh-array is allocated in __exfat_get_entry_set. The problem is that the bh-array is allocated with GFP_KERNEL. It does not make sense. In the following cases, a deadlock for sbi->s_lock between the two processes may occur.

CPU0 CPU1 ---- ---- kswapd balance_pgdat lock(fs_reclaim) exfat_iterate lock(&sbi->s_lock) exfat_readdir exfat_get_uniname_from_ext_entry exfat_get_dentry_set __exfat_get_dentry_set kmalloc_array ... lock(fs_reclaim) ... evict exfat_evict_inode lock(&sbi->s_lock)

To fix this, let's allocate bh-array with GFP_NOFS.

Weakness: CWE-667

Which versions are affected by CVE-2024-42315?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-42315?

Apply the vendor's patch.

Is CVE-2024-42315 being exploited?

There is no known exploitation of CVE-2024-42315 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-48024, BELL-CVE-2024-42315, DEBIAN-CVE-2024-42315, GHSA-269x-4f35-gf3h, UBUNTU-CVE-2024-42315.

Is CVE-2024-42315 in your software?

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

Check your SBOMs for free