CVE-2024-38582
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
19/06/2024
Last modified:
01/04/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
nilfs2: fix potential hang in nilfs_detach_log_writer()<br />
<br />
Syzbot has reported a potential hang in nilfs_detach_log_writer() called<br />
during nilfs2 unmount.<br />
<br />
Analysis revealed that this is because nilfs_segctor_sync(), which<br />
synchronizes with the log writer thread, can be called after<br />
nilfs_segctor_destroy() terminates that thread, as shown in the call trace<br />
below:<br />
<br />
nilfs_detach_log_writer<br />
nilfs_segctor_destroy<br />
nilfs_segctor_kill_thread --> Shut down log writer thread<br />
flush_work<br />
nilfs_iput_work_func<br />
nilfs_dispose_list<br />
iput<br />
nilfs_evict_inode<br />
nilfs_transaction_commit<br />
nilfs_construct_segment (if inode needs sync)<br />
nilfs_segctor_sync --> Attempt to synchronize with<br />
log writer thread<br />
*** DEADLOCK ***<br />
<br />
Fix this issue by changing nilfs_segctor_sync() so that the log writer<br />
thread returns normally without synchronizing after it terminates, and by<br />
forcing tasks that are already waiting to complete once after the thread<br />
terminates.<br />
<br />
The skipped inode metadata flushout will then be processed together in the<br />
subsequent cleanup work in nilfs_segctor_destroy().
Impact
Base Score 3.x
5.30
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.316 (excluding) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.278 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.219 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.161 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.93 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.33 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.8.12 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9 (including) | 6.9.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/06afce714d87c7cd1dcfccbcd800c5c5d2cf1cfd
- https://git.kernel.org/stable/c/1c3844c5f4eac043954ebf6403fa9fd1f0e9c1c0
- https://git.kernel.org/stable/c/6e5c8e8e024e147b834f56f2115aad241433679b
- https://git.kernel.org/stable/c/911d38be151921a5d152bb55e81fd752384c6830
- https://git.kernel.org/stable/c/a8799662fed1f8747edae87a1937549288baca6a
- https://git.kernel.org/stable/c/bc9cee50a4a4ca23bdc49f75ea8242d8a2193b3b
- https://git.kernel.org/stable/c/c516db6ab9eabbedbc430b4f93b0d8728e9b427f
- https://git.kernel.org/stable/c/eb85dace897c5986bc2f36b3c783c6abb8a4292e
- https://git.kernel.org/stable/c/eff7cdf890b02596b8d73e910bdbdd489175dbdb
- https://git.kernel.org/stable/c/06afce714d87c7cd1dcfccbcd800c5c5d2cf1cfd
- https://git.kernel.org/stable/c/1c3844c5f4eac043954ebf6403fa9fd1f0e9c1c0
- https://git.kernel.org/stable/c/6e5c8e8e024e147b834f56f2115aad241433679b
- https://git.kernel.org/stable/c/911d38be151921a5d152bb55e81fd752384c6830
- https://git.kernel.org/stable/c/a8799662fed1f8747edae87a1937549288baca6a
- https://git.kernel.org/stable/c/bc9cee50a4a4ca23bdc49f75ea8242d8a2193b3b
- https://git.kernel.org/stable/c/c516db6ab9eabbedbc430b4f93b0d8728e9b427f
- https://git.kernel.org/stable/c/eb85dace897c5986bc2f36b3c783c6abb8a4292e
- https://git.kernel.org/stable/c/eff7cdf890b02596b8d73e910bdbdd489175dbdb