CVE-2024-42315 exfat: fix potential deadlock on __exfat_get_dentry_set
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.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-48024, BELL-CVE-2024-42315, DEBIAN-CVE-2024-42315, GHSA-269x-4f35-gf3h, UBUNTU-CVE-2024-42315.