CVE-2026-23238

Medium

Description

In the Linux kernel, the following vulnerability has been resolved: romfs: check sb_set_blocksize() return value romfs_fill_super() ignores the return value of sb_set_blocksize(), which can fail if the requested block size is incompatible with the block device's configuration. This can be triggered by setting a loop device's block size larger than PAGE_SIZE using ioctl(LOOP_SET_BLOCK_SIZE, 32768), then mounting a romfs filesystem on that device. When sb_set_blocksize(sb, ROMBSIZE) is called with ROMBSIZE=4096 but the device has logical_block_size=32768, bdev_validate_blocksize() fails because the requested size is smaller than the device's logical block size. sb_set_blocksize() returns 0 (failure), but romfs ignores this and continues mounting. The superblock's block size remains at the device's logical block size (32768). Later, when sb_bread() attempts I/O with this oversized block size, it triggers a kernel BUG in folio_set_bh(): kernel BUG at fs/buffer.c:1582! BUG_ON(size > PAGE_SIZE); Fix by checking the return value of sb_set_blocksize() and failing the mount with -EINVAL if it returns 0.

SeverityMedium
CVSS5.5
Exploit probability—
ProductLinux Kernel
PublishedMar 4, 2026
First seenMar 4, 2026

How to fix

Update
  • linux linux_kernel5.10.251, 5.15.201, 6.1.164, 6.6.127, 6.12.74, 6.18.13 or later

Affected products

ProductAffected versionsFixed in
linux linux_kernel2.6.12.1 ≤ v < 5.10.251, 5.11 ≤ v < 5.15.201, 5.16 ≤ v < 6.1.164, 6.2 ≤ v < 6.6.127, 6.7 ≤ v < 6.12.74, 6.13 ≤ v < 6.18.13, 2.6.12, 6.195.10.251, 5.15.201, 6.1.164, 6.6.127, 6.12.74, 6.18.13

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.