Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2025-38691

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/09/2025
Última modificación:
09/01/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> pNFS: Fix uninited ptr deref in block/scsi layout<br /> <br /> The error occurs on the third attempt to encode extents. When function<br /> ext_tree_prepare_commit() reallocates a larger buffer to retry encoding<br /> extents, the "layoutupdate_pages" page array is initialized only after the<br /> retry loop. But ext_tree_free_commitdata() is called on every iteration<br /> and tries to put pages in the array, thus dereferencing uninitialized<br /> pointers.<br /> <br /> An additional problem is that there is no limit on the maximum possible<br /> buffer_size. When there are too many extents, the client may create a<br /> layoutcommit that is larger than the maximum possible RPC size accepted<br /> by the server.<br /> <br /> During testing, we observed two typical scenarios. First, one memory page<br /> for extents is enough when we work with small files, append data to the<br /> end of the file, or preallocate extents before writing. But when we fill<br /> a new large file without preallocating, the number of extents can be huge,<br /> and counting the number of written extents in ext_tree_encode_commit()<br /> does not help much. Since this number increases even more between<br /> unlocking and locking of ext_tree, the reallocated buffer may not be<br /> large enough again and again.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.18 (incluyendo) 5.4.297 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (incluyendo) 5.10.241 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.190 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.149 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.103 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.43 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.15.11 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.16 (incluyendo) 6.16.2 (excluyendo)
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*