CVE-2025-38650
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
22/08/2025
Last modified:
07/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
hfsplus: remove mutex_lock check in hfsplus_free_extents<br />
<br />
Syzbot reported an issue in hfsplus filesystem:<br />
<br />
------------[ cut here ]------------<br />
WARNING: CPU: 0 PID: 4400 at fs/hfsplus/extents.c:346<br />
hfsplus_free_extents+0x700/0xad0<br />
Call Trace:<br />
<br />
hfsplus_file_truncate+0x768/0xbb0 fs/hfsplus/extents.c:606<br />
hfsplus_write_begin+0xc2/0xd0 fs/hfsplus/inode.c:56<br />
cont_expand_zero fs/buffer.c:2383 [inline]<br />
cont_write_begin+0x2cf/0x860 fs/buffer.c:2446<br />
hfsplus_write_begin+0x86/0xd0 fs/hfsplus/inode.c:52<br />
generic_cont_expand_simple+0x151/0x250 fs/buffer.c:2347<br />
hfsplus_setattr+0x168/0x280 fs/hfsplus/inode.c:263<br />
notify_change+0xe38/0x10f0 fs/attr.c:420<br />
do_truncate+0x1fb/0x2e0 fs/open.c:65<br />
do_sys_ftruncate+0x2eb/0x380 fs/open.c:193<br />
do_syscall_x64 arch/x86/entry/common.c:50 [inline]<br />
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80<br />
entry_SYSCALL_64_after_hwframe+0x63/0xcd<br />
<br />
To avoid deadlock, Commit 31651c607151 ("hfsplus: avoid deadlock<br />
on file truncation") unlock extree before hfsplus_free_extents(),<br />
and add check wheather extree is locked in hfsplus_free_extents().<br />
<br />
However, when operations such as hfsplus_file_release,<br />
hfsplus_setattr, hfsplus_unlink, and hfsplus_get_block are executed<br />
concurrently in different files, it is very likely to trigger the<br />
WARN_ON, which will lead syzbot and xfstest to consider it as an<br />
abnormality.<br />
<br />
The comment above this warning also describes one of the easy<br />
triggering situations, which can easily trigger and cause<br />
xfstest&syzbot to report errors.<br />
<br />
[task A] [task B]<br />
->hfsplus_file_release<br />
->hfsplus_file_truncate<br />
->hfs_find_init<br />
->mutex_lock<br />
->mutex_unlock<br />
->hfsplus_write_begin<br />
->hfsplus_get_block<br />
->hfsplus_file_extend<br />
->hfsplus_ext_read_extent<br />
->hfs_find_init<br />
->mutex_lock<br />
->hfsplus_free_extents<br />
WARN_ON(mutex_is_locked) !!!<br />
<br />
Several threads could try to lock the shared extents tree.<br />
And warning can be triggered in one thread when another thread<br />
has locked the tree. This is the wrong behavior of the code and<br />
we need to remove the warning.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19 (including) | 5.4.297 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.241 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.190 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.148 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.102 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.42 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.16 (including) | 6.16.1 (excluding) |
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* |
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/0807e4ac59a546f2346961c5e26a98901594b205
- https://git.kernel.org/stable/c/084933961ecda7561dedfb78c4676ccb90c91ada
- https://git.kernel.org/stable/c/14922f0cc92e010b160121679c0a6ca072f4e975
- https://git.kernel.org/stable/c/314310166ba1fdff7660dfd9d18ea42d7058f7ae
- https://git.kernel.org/stable/c/5055b7db94110f228961dea6b74eed0a93a50b01
- https://git.kernel.org/stable/c/9764b8bb9f5f94df105cd2ac43829dd0d2c82b9f
- https://git.kernel.org/stable/c/a19ce9230b22a0866313932e7964cf05557a6008
- https://git.kernel.org/stable/c/fcb96956c921f1aae7e7b477f2435c56f77a31b4
- https://git.kernel.org/stable/c/fdd6aca652122d6e97787e88d7dd53ddc8b74e7e
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



