CVE-2025-38650: hfsplus: remove mutex_lock check in hfsplus_free_extents
In the Linux kernel, the following vulnerability has been resolved:
hfsplus: remove mutex_lock check in hfsplus_free_extents
Syzbot reported an issue in hfsplus filesystem:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 4400 at fs/hfsplus/extents.c:346
hfsplus_free_extents+0x700/0xad0
Call Trace:
<TASK>
hfsplus_file_truncate+0x768/0xbb0 fs/hfsplus/extents.c:606
hfsplus_write_begin+0xc2/0xd0 fs/hfsplus/inode.c:56
cont_expand_zero fs/buffer.c:2383 [inline]
cont_write_begin+0x2cf/0x860 fs/buffer.c:2446
hfsplus_write_begin+0x86/0xd0 fs/hfsplus/inode.c:52
generic_cont_expand_simple+0x151/0x250 fs/buffer.c:2347
hfsplus_setattr+0x168/0x280 fs/hfsplus/inode.c:263
notify_change+0xe38/0x10f0 fs/attr.c:420
do_truncate+0x1fb/0x2e0 fs/open.c:65
do_sys_ftruncate+0x2eb/0x380 fs/open.c:193
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
To avoid deadlock, Commit 31651c607151 ("hfsplus: avoid deadlock
on file truncation") unlock extree before hfsplus_free_extents(),
and add check wheather extree is locked in hfsplus_free_extents().
However, when operations such as hfsplus_file_release,
hfsplus_setattr, hfsplus_unlink, and hfsplus_get_block are executed
concurrently in different files, it is very likely to trigger the
WARN_ON, which will lead syzbot and xfstest to consider it as an
abnormality.
The comment above this warning also describes one of the easy
triggering situations, which can easily trigger and cause
xfstest&syzbot to report errors.
[task A] [task B]
->hfsplus_file_release
->hfsplus_file_truncate
->hfs_find_init
->mutex_lock
->mutex_unlock
->hfsplus_write_begin
->hfsplus_get_block
->hfsplus_file_extend
->hfsplus_ext_read_extent
->hfs_find_init
->mutex_lock
->hfsplus_free_extents
WARN_ON(mutex_is_locked) !!!
Several threads could try to lock the shared extents tree.
And warning can be triggered in one thread when another thread
has locked the tree. This is the wrong behavior of the code and
we need to remove the warning.
Security readout for executives and security teams
Plain-English summary
CVE-2025-38650 is a Linux kernel HFS+ filesystem issue where concurrent file operations can trigger an incorrect kernel warning. The source describes testing failures from syzbot and xfstest, not confirmed compromise. Business urgency is mainly for systems that mount HFS+ volumes or run kernel validation pipelines.
Executive priority
Treat as routine kernel maintenance unless HFS+ is operationally important in your environment. Prioritize affected servers, test infrastructure, and systems handling untrusted removable media, but current sources do not support emergency response.
Technical view
In hfsplus_free_extents, a WARN_ON mutex check could fire when another thread legitimately held the shared extents tree lock. Concurrent hfsplus_file_release, setattr, unlink, write_begin, or get_block paths can trigger the warning. The kernel fix removes the incorrect lock-state warning.
Likely exposure
Exposure appears limited to Linux systems using the HFS+ filesystem code path, especially systems mounting, modifying, or testing HFS+ volumes on affected kernel builds. The bundle does not identify remote exposure, privilege escalation, data theft, or broad default exposure.
Exploitation context
The bundle cites syzbot and xfstest triggering an abnormal warning through concurrent filesystem operations. It does not cite active exploitation, a public exploit, KEV listing, or a demonstrated security impact beyond incorrect warning behavior.
Researcher notes
The important distinction is that the warning was logically wrong under cross-file concurrency. The record describes a false abnormal condition caused by shared extents-tree locking, resolved by removing the WARN_ON rather than changing a published exploitation primitive.
Mitigation direction
Apply vendor kernel updates that include the referenced stable HFS+ fix.
For Debian systems, review the cited Debian LTS advisories for packaged kernel guidance.
Reduce unnecessary HFS+ mounting on systems awaiting kernel updates.
Track kernel vendor advisories because the bundle provides no separate workaround.
Validation and detection
Inventory Linux hosts that mount or enable HFS+ filesystem support.
Compare running kernel builds against vendor advisories and the referenced stable commits.
Check kernel logs for HFS+ warnings during concurrent file operations.
Confirm updated kernels contain the hfsplus_free_extents warning removal.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38650 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
1ADP providers
12Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Aug 22, 2025, 16:00 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.