cbcvebase.
CVE-2025-38415
published 2025-07-25

CVE-2025-38415: In the Linux kernel, the following vulnerability has been resolved: Squashfs: check return result of sb_min_blocksize Syzkaller reports an "UBSAN…

high7.8CVSS 3.1
AVLACLPRLUINSUCHIHAH
In the Linux kernel, the following vulnerability has been resolved: Squashfs: check return result of sb_min_blocksize Syzkaller reports an "UBSAN: shift-out-of-bounds in squashfs_bio_read" bug. Syzkaller forks multiple processes which after mounting the Squashfs filesystem, issues an ioctl("/dev/loop0", LOOP_SET_BLOCK_SIZE, 0x8000). Now if this ioctl occurs at the same time another process is in the process of mounting a Squashfs filesystem on /dev/loop0, the failure occurs. When this happens the following code in squashfs_fill_super() fails. ---- msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); msblk->devblksize_log2 = ffz(~msblk->devblksize); ---- sb_min_blocksize() returns 0, which means msblk->devblksize is set to 0. As a result, ffz(~msblk->devblksize) returns 64, and msblk->devblksize_log2 is set to 64. This subsequently causes the UBSAN: shift-out-of-bounds in fs/squashfs/block.c:195:36 shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long') This commit adds a check for a 0 return by sb_min_blocksize().

Affected

36 ranges· showing 25
VendorProductVersion rangeFixed in
debiandebian_linux
debianlinux< linux 6.1.147-1 (bookworm)linux 6.1.147-1 (bookworm)
debianlinux-6.1< linux 6.1.147-1 (bookworm)linux 6.1.147-1 (bookworm)
linuxlinux
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < db7096ea160e40d78c67fce52e7cc51bde049497db7096ea160e40d78c67fce52e7cc51bde049497
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 549f9e3d7b60d53808c98b9fde49b4f46d0524a5549f9e3d7b60d53808c98b9fde49b4f46d0524a5
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 5c51aa862cbeed2f3887f0382a2708956710bd685c51aa862cbeed2f3887f0382a2708956710bd68
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 6abf6b78c6fb112eee495f5636ffcc350dd2ce256abf6b78c6fb112eee495f5636ffcc350dd2ce25
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 4f99357dadbf9c979ad737156ad4c37fadf7c56b4f99357dadbf9c979ad737156ad4c37fadf7c56b
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 0aff95d9bc7fb5400ca8af507429c4b067bdb4250aff95d9bc7fb5400ca8af507429c4b067bdb425
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 295ab18c2dbce8d0ac6ecf7c5187e16e1ac8b282295ab18c2dbce8d0ac6ecf7c5187e16e1ac8b282
linuxlinux>= 0aa666190509ffab81c202c5095a166be23961ac < 734aa85390ea693bb7eaf2240623d41b03705c84734aa85390ea693bb7eaf2240623d41b03705c84
linuxlinux_kernel>= 0 < 5.10.244-15.10.244-1
linuxlinux_kernel>= 0 < 6.1.147-16.1.147-1
linuxlinux_kernel>= 0 < 6.12.35-16.12.35-1
linuxlinux_kernel>= 0 < 6.12.35-16.12.35-1
linuxlinux_kernel>= 0 < 5.15.0-156.1665.15.0-156.166
linuxlinux_kernel>= 0 < 6.8.0-100.1006.8.0-100.100
linuxlinux_kernel>= 2.6.29 < 5.4.2955.4.295
linuxlinux_kernel>= 5.11 < 5.15.1865.15.186
linuxlinux_kernel>= 5.16 < 6.1.1426.1.142
linuxlinux_kernel>= 5.5 < 5.10.2395.10.239
linuxlinux_kernel>= 6.13 < 6.15.36.15.3
linuxlinux_kernel>= 6.2 < 6.6.946.6.94
linuxlinux_kernel>= 6.7 < 6.12.346.12.34

CVSS provenance

nvdv3.17.8HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
osv7.8HIGH