CVE Catalog

CVE-2024-57940

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.22%

12th percentile - higher than 12% of all known CVEs

Summary

In the Linux kernel, exfat_readdir() can enter an infinite loop when the exFAT filesystem is corrupted such that a cluster is linked to itself in the cluster chain and there is an unused directory entry in the cluster. The 'dentry' pointer is then not incremented, so the condition 'dentry < max_dentries' cannot prevent the infinite loop. This loop causes s_lock not to be released, and other tasks such as exfat_sync_fs() hang.

Risk Assessment

Mounting a corrupted exFAT filesystem can lead to kernel thread hangs and blocked filesystem operations, potentially resulting in a denial of service (DoS).

Recommendation

Update the Linux kernel to a version containing the fix. Avoid mounting untrusted or potentially corrupted exFAT filesystems.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: exfat: fix the infinite loop in exfat_readdir() If the file system is corrupted so that a cluster is linked to itself in the cluster chain, and there is an unused directory entry in the cluster, 'dentry' will not be incremented, causing condition 'dentry < max_dentries' unable to prevent an infinite loop. This infinite loop causes s_lock not to be released, and other tasks will hang, such as exfat_sync_fs(). This commit stops traversing the cluster chain when there is unused directory entry in the cluster to avoid this infinite loop.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS