CVE-2025-38415
Severity CVSS v4.0:
Pending analysis
Type:
CWE-787
Out-of-bounds Write
Publication date:
25/07/2025
Last modified:
23/12/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
Squashfs: check return result of sb_min_blocksize<br />
<br />
Syzkaller reports an "UBSAN: shift-out-of-bounds in squashfs_bio_read" bug.<br />
<br />
Syzkaller forks multiple processes which after mounting the Squashfs<br />
filesystem, issues an ioctl("/dev/loop0", LOOP_SET_BLOCK_SIZE, 0x8000). <br />
Now if this ioctl occurs at the same time another process is in the<br />
process of mounting a Squashfs filesystem on /dev/loop0, the failure<br />
occurs. When this happens the following code in squashfs_fill_super()<br />
fails.<br />
<br />
----<br />
msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE);<br />
msblk->devblksize_log2 = ffz(~msblk->devblksize);<br />
----<br />
<br />
sb_min_blocksize() returns 0, which means msblk->devblksize is set to 0.<br />
<br />
As a result, ffz(~msblk->devblksize) returns 64, and msblk->devblksize_log2<br />
is set to 64.<br />
<br />
This subsequently causes the<br />
<br />
UBSAN: shift-out-of-bounds in fs/squashfs/block.c:195:36<br />
shift exponent 64 is too large for 64-bit type &#39;u64&#39; (aka<br />
&#39;unsigned long long&#39;)<br />
<br />
This commit adds a check for a 0 return by sb_min_blocksize().
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.29 (including) | 5.4.295 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.239 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.186 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.142 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.94 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.34 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.3 (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/0aff95d9bc7fb5400ca8af507429c4b067bdb425
- https://git.kernel.org/stable/c/295ab18c2dbce8d0ac6ecf7c5187e16e1ac8b282
- https://git.kernel.org/stable/c/4f99357dadbf9c979ad737156ad4c37fadf7c56b
- https://git.kernel.org/stable/c/549f9e3d7b60d53808c98b9fde49b4f46d0524a5
- https://git.kernel.org/stable/c/5c51aa862cbeed2f3887f0382a2708956710bd68
- https://git.kernel.org/stable/c/6abf6b78c6fb112eee495f5636ffcc350dd2ce25
- https://git.kernel.org/stable/c/734aa85390ea693bb7eaf2240623d41b03705c84
- https://git.kernel.org/stable/c/db7096ea160e40d78c67fce52e7cc51bde049497
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



