CVE-2025-38415: Debian Linux
High severity, CVSS 7.8. EPSS: 0.2% chance of exploitation in the next 30 days.
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 products
- Debian Debian Linux: version 11.0 only
- Linux Linux Kernel: from 2.6.29, before 5.4.295 (fixed in 5.4.295); from 5.5, before 5.10.239 (fixed in 5.10.239); from 5.11, before 5.15.186 (fixed in 5.15.186); from 5.16, before 6.1.142 (fixed in 6.1.142); from 6.2, before 6.6.94 (fixed in 6.6.94); from 6.7, before 6.12.34 (fixed in 6.12.34); …
Published 2025-07-25. Last modified 2026-06-18.