Skip to main content
← All vulnerabilities
CVE-2024-57940

exfat: fix the infinite loop in exfat_readdir()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.234, 5.15.177, 6.1.125, 6.6.72, 6.12.10
None on Exploit-DB, Metasploit or GitHub

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in d8cfbb8723bd3d3222f360227a1cc15227189ca6; From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in 28c21f0ac5293a4bf19b3e0e32005d6dd31a6c17; From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in 31beabd0f47f8c3ed9965ba861c9e5b252d4920a; From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in dc1d7afceb982e8f666e70a582e6b5aa806de063; From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in d9ea94f5cd117d56e573696d0045ab3044185a15; From ca06197382bde0a3bc20215595d1c9ce20c6e341 · fixed in fee873761bd978d077d8c55334b4966ac4cb7b59

  • Linux Linux

    5.7

  • KernelLinux

    From 5.7.0 · fixed in 5.10.234; From 5.11.0 · fixed in 5.15.177; From 5.16.0 · fixed in 6.1.125; From 6.2.0 · fixed in 6.6.72; From 6.7.0 · fixed in 6.12.10

References 6

git.kernel.org