CVE-2024-57940

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < d8cfbb8723bd3d3222f360227a1cc15227189ca6affected
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < 28c21f0ac5293a4bf19b3e0e32005d6dd31a6c17affected
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < 31beabd0f47f8c3ed9965ba861c9e5b252d4920aaffected
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < dc1d7afceb982e8f666e70a582e6b5aa806de063affected
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < d9ea94f5cd117d56e573696d0045ab3044185a15affected
LinuxLinuxca06197382bde0a3bc20215595d1c9ce20c6e341 < fee873761bd978d077d8c55334b4966ac4cb7b59affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux5.10.234 <= 5.10.*unaffected
LinuxLinux5.15.177 <= 5.15.*unaffected
LinuxLinux6.1.125 <= 6.1.*unaffected
LinuxLinux6.6.72 <= 6.6.*unaffected
LinuxLinux6.12.10 <= 6.12.*unaffected
LinuxLinux6.13 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

Additional References

References