CVE-2024-50006
Published: October 23, 2024Last modified: October 23, 2024
Description
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
Severity score breakdown
Parameter | Value |
---|---|
Base score | 4.7 |
Attack Vector | LOCAL |
Attack complexity | HIGH |
Privileges required | LOW |
User interaction | NONE |
Scope | UNCHANGED |
Confidentiality | NONE |
Integrity impact | NONE |
Availability impact | HIGH |
Vector | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
Status
Product | Release | Package | Status |
---|---|---|---|
Alpaquita Linux | 23 LTS | linux-lts | Fixed (6.1.114-r0) |
Stream | linux-lts | Fixed (6.6.58-r0) |
References
- https://git.kernel.org/stable/c/3c46d6060d3e38de22196c1fe7706c5a3c696285
- https://git.kernel.org/stable/c/4192adefc9c570698821c5eb9873320eac2fcbf1
- https://git.kernel.org/stable/c/53b1999cfd2c7addf2e581a32865fe8835467b44
- https://git.kernel.org/stable/c/6252cb6bde7fc76cb8dcb49d1def7c326b190820
- https://git.kernel.org/stable/c/9fedf51ab8cf7b69bff08f37fe0989fec7f5d870
- https://git.kernel.org/stable/c/cc749e61c011c255d81b192a822db650c68b313f
- https://git.kernel.org/stable/c/d43776b907659affef1de888525847d64b244194
- https://git.kernel.org/stable/c/d58a00e981d3118b91d503da263e640b7cde6729
- https://git.kernel.org/stable/c/ef05572da0c0eb89614ed01cc17d3c882bdbd1ff