CVE-2026-23238: romfs: check sb_set_blocksize() return value
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.
Security readout for executives and security teams
Plain-English summary
CVE-2026-23238 is a Linux kernel reliability flaw in romfs mounting. If a system mounts a romfs filesystem from a block device with an incompatible logical block size, the kernel can hit a BUG condition and crash. The available sources describe a fix, but do not provide CVSS scoring or evidence of active exploitation.
Executive priority
Treat this as a controlled-access denial-of-service risk, not a confirmed remote compromise. Patch through normal kernel maintenance, faster where untrusted local users or container workloads have mount-like privileges.
Technical view
romfs_fill_super() failed to check sb_set_blocksize() returning failure. With an oversized logical block size, the superblock keeps an incompatible size and later sb_bread() can trigger BUG_ON(size > PAGE_SIZE) in fs/buffer.c. The fix checks sb_set_blocksize() and fails the mount with -EINVAL.
Likely exposure
Exposure is most relevant on Linux systems where users, services, containers, or automation can configure loop devices and mount romfs filesystems. General internet-facing exposure is not indicated by the sources.
Exploitation context
The CVE description gives a local trigger concept involving loop device block size and romfs mounting. KEV is false, and the bundle provides no cited evidence of exploitation in the wild.
Researcher notes
The issue is narrow but kernel-impacting: unchecked block-size negotiation in romfs mount setup leads to a later buffer-layer BUG. Evidence is sufficient for root-cause understanding, but severity metrics, distribution status, and exploitation prevalence are incomplete in the bundle.
Mitigation direction
Update affected Linux kernels using vendor or stable-kernel guidance.
Prioritize systems allowing untrusted filesystem mounts or loop device management.
Restrict unnecessary mount and loop-device privileges, especially in containers.
Review Siemens SSA-253495 if operating affected Siemens products.
Monitor Linux distribution advisories for packaged kernel fix availability.
Validation and detection
Inventory Linux kernel versions against the CVE record and vendor advisories.
Check whether romfs support is enabled or loadable on exposed systems.
Review who or what can mount filesystems or configure loop devices.
Confirm patched kernels include the referenced romfs sb_set_blocksize() check.
Validate container profiles do not grant unnecessary mount-related capabilities.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23238 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
1ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Mar 4, 2026, 14:38 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.