LiveActive security incident?Get immediate response
CVE Record

CVE-2026-23181: btrfs: sync read disk super and set block size

In the Linux kernel, the following vulnerability has been resolved: btrfs: sync read disk super and set block size When the user performs a btrfs mount, the block device is not set correctly. The user sets the block size of the block device to 0x4000 by executing the BLKBSZSET command. Since the block size change also changes the mapping->flags value, this further affects the result of the mapping_min_folio_order() calculation. Let's analyze the following two scenarios: Scenario 1: Without executing the BLKBSZSET command, the block size is 0x1000, and mapping_min_folio_order() returns 0; Scenario 2: After executing the BLKBSZSET command, the block size is 0x4000, and mapping_min_folio_order() returns 2. do_read_cache_folio() allocates a folio before the BLKBSZSET command is executed. This results in the allocated folio having an order value of 0. Later, after BLKBSZSET is executed, the block size increases to 0x4000, and the mapping_min_folio_order() calculation result becomes 2. This leads to two undesirable consequences: 1. filemap_add_folio() triggers a VM_BUG_ON_FOLIO(folio_order(folio) < mapping_min_folio_order(mapping)) assertion. 2. The syzbot report [1] shows a null pointer dereference in create_empty_buffers() due to a buffer head allocation failure. Synchronization should be established based on the inode between the BLKBSZSET command and read cache page to prevent inconsistencies in block size or mapping flags before and after folio allocation. [1] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:create_empty_buffers+0x4d/0x480 fs/buffer.c:1694 Call Trace: folio_create_buffers+0x109/0x150 fs/buffer.c:1802 block_read_full_folio+0x14c/0x850 fs/buffer.c:2403 filemap_read_folio+0xc8/0x2a0 mm/filemap.c:2496 do_read_cache_folio+0x266/0x5c0 mm/filemap.c:4096 do_read_cache_page mm/filemap.c:4162 [inline] read_cache_page_gfp+0x29/0x120 mm/filemap.c:4195 btrfs_read_disk_super+0x192/0x500 fs/btrfs/volumes.c:1367

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2026-23181 is a Linux kernel Btrfs bug that can crash or fault during mount-related block-size handling. The sources describe inconsistent block-device state causing a kernel assertion or NULL pointer dereference. No CVSS score or active exploitation evidence is provided.

Executive priority

Treat this as a kernel stability risk, not a confirmed internet-scale emergency. Patch through normal kernel maintenance, faster for Btrfs-heavy servers, multi-user systems, and environments where untrusted users can access mount or block-device operations.

Technical view

During a Btrfs mount, BLKBSZSET can change block size and mapping flags after a cache folio is allocated. That can make folio order smaller than mapping_min_folio_order() or trigger buffer-head allocation failure, leading to VM_BUG_ON_FOLIO or NULL pointer dereference. The fix synchronizes disk-super reads and block-size setting by inode.

Likely exposure

Exposure is most relevant to Linux systems using affected kernels with Btrfs support where a local user or service can perform Btrfs mount activity and manipulate block device block size. Exact privilege requirements are not stated in the sources.

Exploitation context

The bundle does not show active exploitation, KEV listing, public exploit code, or remote attack evidence. The described impact is a kernel crash/assertion or NULL pointer dereference found by syzbot during a local kernel filesystem path.

Researcher notes

The evidence supports a local filesystem/block-layer race or ordering flaw. The source does not provide CVSS, CWE, complete version ranges, privilege requirements, or confidentiality/integrity impact. Avoid overstating exploitability beyond crash/assertion behavior described in the kernel record.

Mitigation direction

  • Apply a vendor kernel update containing the referenced stable fixes.
  • Prioritize systems using Btrfs or allowing local block-device access.
  • Check distribution advisories for backported kernel fixes.
  • Restrict unnecessary local access to block devices and mount operations.
  • Avoid assuming fixed version numbers unless confirmed by your kernel vendor.

Validation and detection

  • Inventory Linux hosts running affected or vendor-backported kernels.
  • Identify systems with Btrfs enabled or Btrfs filesystems mounted.
  • Confirm kernel source or package includes the referenced stable commits.
  • Review kernel logs for related Btrfs, folio, buffer, or NULL dereference crashes.
  • Track vendor advisory status for CVE-2026-23181.
Prepared
Confidence
medium
Sources
4

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-23181 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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
0ADP providers
3Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux3c20917120ce61f2a123ca0810293872f4c6b5a4, 3c20917120ce61f2a123ca0810293872f4c6b5a4unaffected
LinuxLinux6.15, 0, 6.18.10, 6.19affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.