CVE-2025-38691
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
04/09/2025
Last modified:
09/01/2026
Description
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.
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:*:*:*:*:*:*:*:* | 3.18 (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.149 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.103 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.43 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.16 (including) | 6.16.2 (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/24334f3cf8a294f253071b5bf22d754dbb6d0f2d
- https://git.kernel.org/stable/c/2896f101110076ac6bf99d7aaf463d61e26f89dd
- https://git.kernel.org/stable/c/37c3443a2685528f972d910a6fb87716b96fef46
- https://git.kernel.org/stable/c/4f783333cbfa2ee7d4aa8e47f6bd1b3f77534fcf
- https://git.kernel.org/stable/c/579b85f893d9885162e1cabf99a4a088916e143e
- https://git.kernel.org/stable/c/94ec6d939031a616474376dadbf4a8d0ef8b0bcc
- https://git.kernel.org/stable/c/9768797c219326699778fba9cd3b607b2f1e7950
- https://git.kernel.org/stable/c/9be5c04beca3202d0a5f09fb4b2ecb644caa0bc5
- https://git.kernel.org/stable/c/f0b2eee3fbba9b7e3746ef698424ef5e4a197776
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



