CVE-2024-50006

Summary

In the Linux kernel, the following vulnerability has been resolved:

ext4: fix i_data_sem unlock order in ext4_ind_migrate()

Fuzzing reports a possible deadlock in jbd2_log_wait_commit.

This issue is triggered when an EXT4_IOC_MIGRATE ioctl is set to require synchronous updates because the file descriptor is opened with O_SYNC. This can lead to the jbd2_journal_stop() function calling jbd2_might_wait_for_commit(), potentially causing a deadlock if the EXT4_IOC_MIGRATE call races with a write(2) system call.

This problem only arises when CONFIG_PROVE_LOCKING is enabled. In this case, the jbd2_might_wait_for_commit macro locks jbd2_handle in the jbd2_journal_stop function while i_data_sem is locked. This triggers lockdep because the jbd2_journal_start function might also lock the same jbd2_handle simultaneously.

Found by Linux Verification Center (linuxtesting.org) with syzkaller.

Rule: add

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < 4192adefc9c570698821c5eb9873320eac2fcbf1affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < 3c46d6060d3e38de22196c1fe7706c5a3c696285affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < 53b1999cfd2c7addf2e581a32865fe8835467b44affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < ef05572da0c0eb89614ed01cc17d3c882bdbd1ffaffected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < 9fedf51ab8cf7b69bff08f37fe0989fec7f5d870affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < d43776b907659affef1de888525847d64b244194affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < 6252cb6bde7fc76cb8dcb49d1def7c326b190820affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < d58a00e981d3118b91d503da263e640b7cde6729affected
LinuxLinuxe8238f9a8339b3578c85e4192a7a23bc2bdc0333 < cc749e61c011c255d81b192a822db650c68b313faffected
LinuxLinux3.10affected
LinuxLinux0 < 3.10unaffected
LinuxLinux4.19.323 <= 4.19.*unaffected
LinuxLinux5.4.285 <= 5.4.*unaffected
LinuxLinux5.10.227 <= 5.10.*unaffected
LinuxLinux5.15.168 <= 5.15.*unaffected
LinuxLinux6.1.113 <= 6.1.*unaffected
LinuxLinux6.6.55 <= 6.6.*unaffected
LinuxLinux6.10.14 <= 6.10.*unaffected
LinuxLinux6.11.3 <= 6.11.*unaffected
LinuxLinux6.12 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

Additional References

References