CVE-2025-71237

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]
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

18 Mar 2026, 14:58

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/2438982f635e6cc2009be68ba2efb2998727d8d4 - () https://git.kernel.org/stable/c/2438982f635e6cc2009be68ba2efb2998727d8d4 - Patch
References () https://git.kernel.org/stable/c/4aa45f841413cca81882602b4042c53502f34cad - () https://git.kernel.org/stable/c/4aa45f841413cca81882602b4042c53502f34cad - Patch
References () https://git.kernel.org/stable/c/6457d3ee41a4c15082ac49c5aa7fb933b4a043f3 - () https://git.kernel.org/stable/c/6457d3ee41a4c15082ac49c5aa7fb933b4a043f3 - Patch
References () https://git.kernel.org/stable/c/b8c5ee234bd54f1447c846101fdaef2cf70c2149 - () https://git.kernel.org/stable/c/b8c5ee234bd54f1447c846101fdaef2cf70c2149 - Patch
References () https://git.kernel.org/stable/c/ba18e5f22f26aa4ef78bc3e81f639d1d4f3845e6 - () https://git.kernel.org/stable/c/ba18e5f22f26aa4ef78bc3e81f639d1d4f3845e6 - Patch
References () https://git.kernel.org/stable/c/df1e20796c9f3d541cca47fb72e4369ea135642d - () https://git.kernel.org/stable/c/df1e20796c9f3d541cca47fb72e4369ea135642d - Patch
References () https://git.kernel.org/stable/c/ea2278657ad0d62596589fbe2caf995e189e65e7 - () https://git.kernel.org/stable/c/ea2278657ad0d62596589fbe2caf995e189e65e7 - Patch
References () https://git.kernel.org/stable/c/ed527ef0c264e4bed6c7b2a158ddf516b17f5f66 - () https://git.kernel.org/stable/c/ed527ef0c264e4bed6c7b2a158ddf516b17f5f66 - Patch
First Time Linux
Linux linux Kernel
CWE NVD-CWE-noinfo

23 Feb 2026, 04:16

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: nilfs2: Corrige un posible desbordamiento de bloque que causa un cuelgue del sistema Cuando un usuario ejecuta el comando FITRIM, puede ocurrir un subdesbordamiento al calcular nblocks si end_block es demasiado pequeño. Dado que nblocks es de tipo sector_t, que es u64, un valor negativo de nblocks se convertirá en un entero positivo muy grande. Esto finalmente lleva a que la función de la capa de bloques __blkdev_issue_discard() tarde un tiempo excesivamente largo en procesar la cadena bio, y el bloqueo ns_segctor_sem permanezca retenido durante un largo período. Esto impide que otras tareas adquieran el bloqueo ns_segctor_sem, lo que resulta en el cuelgue reportado por syzbot en [1]. Si el bloque final es demasiado pequeño, típicamente si es menor que el rango de 4KiB, dependiendo del uso del segmento 0, puede ser posible intentar una solicitud de descarte más allá del tamaño del dispositivo, causando el cuelgue. Saliendo con éxito y asignando el tamaño descartado (0 en este caso) a range->len. Aunque los valores de inicio y longitud en el rango de entrada del usuario son demasiado pequeños, se adopta aquí una estrategia conservadora para ignorarlos de forma segura, lo cual es equivalente a una no-op; no realizará ningún recorte y no lanzará un error. [1] tarea:segctord estado:D pila:28968 pid:6093 tgid:6093 ppid:2 flags_de_tarea:0x200040 flags:0x00080000 Traza de Llamada: 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: corregida parte del mensaje de commit sobre las consecuencias]
References
  • () https://git.kernel.org/stable/c/ed527ef0c264e4bed6c7b2a158ddf516b17f5f66 -

19 Feb 2026, 16:27

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/2438982f635e6cc2009be68ba2efb2998727d8d4 -
  • () https://git.kernel.org/stable/c/6457d3ee41a4c15082ac49c5aa7fb933b4a043f3 -
  • () https://git.kernel.org/stable/c/ba18e5f22f26aa4ef78bc3e81f639d1d4f3845e6 -

18 Feb 2026, 16:22

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-18 16:22

Updated : 2026-03-18 14:58


NVD link : CVE-2025-71237

Mitre link : CVE-2025-71237

CVE.ORG link : CVE-2025-71237


JSON object : View

Products Affected

linux

  • linux_kernel