[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2026021806-CVE-2025-71237-545a@gregkh>
Date: Wed, 18 Feb 2026 15:54:08 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-71237: nilfs2: Fix potential block overflow that cause system hang
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: Fix potential block overflow that cause system hang
When a user executes the FITRIM command, an underflow can occur when
calculating nblocks if end_block is too small. Since nblocks is of
type sector_t, which is u64, a negative nblocks value will become a
very large positive integer. This ultimately leads to the block layer
function __blkdev_issue_discard() taking an excessively long time to
process the bio chain, and the ns_segctor_sem lock remains held for a
long period. This prevents other tasks from acquiring the ns_segctor_sem
lock, resulting in the hang reported by syzbot in [1].
If the ending block is too small, typically if it is smaller than 4KiB
range, depending on the usage of the segment 0, it may be possible to
attempt a discard request beyond the device size causing the hang.
Exiting successfully and assign the discarded size (0 in this case)
to range->len.
Although the start and len values in the user input range are too small,
a conservative strategy is adopted here to safely ignore them, which is
equivalent to a no-op; it will not perform any trimming and will not
throw an error.
[1]
task:segctord state:D stack:28968 pid:6093 tgid:6093 ppid:2 task_flags:0x200040 flags:0x00080000
Call Trace:
rwbase_write_lock+0x3dd/0x750 kernel/locking/rwbase_rt.c:272
nilfs_transaction_lock+0x253/0x4c0 fs/nilfs2/segment.c:357
nilfs_segctor_thread_construct fs/nilfs2/segment.c:2569 [inline]
nilfs_segctor_thread+0x6ec/0xe00 fs/nilfs2/segment.c:2684
[ryusuke: corrected part of the commit message about the consequences]
The Linux kernel CVE team has assigned CVE-2025-71237 to this issue.
Affected and fixed versions
===========================
Fixed in 6.6.125 with commit df1e20796c9f3d541cca47fb72e4369ea135642d
Fixed in 6.12.72 with commit ea2278657ad0d62596589fbe2caf995e189e65e7
Fixed in 6.18.11 with commit 4aa45f841413cca81882602b4042c53502f34cad
Fixed in 6.19.1 with commit b8c5ee234bd54f1447c846101fdaef2cf70c2149
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-71237
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
fs/nilfs2/sufile.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/df1e20796c9f3d541cca47fb72e4369ea135642d
https://git.kernel.org/stable/c/ea2278657ad0d62596589fbe2caf995e189e65e7
https://git.kernel.org/stable/c/4aa45f841413cca81882602b4042c53502f34cad
https://git.kernel.org/stable/c/b8c5ee234bd54f1447c846101fdaef2cf70c2149
https://git.kernel.org/stable/c/ed527ef0c264e4bed6c7b2a158ddf516b17f5f66
Powered by blists - more mailing lists