LiveActive security incident?Get immediate response
CVE Record

CVE-2026-31463: iomap: fix invalid folio access when i_blkbits differs from I/O granularity

In the Linux kernel, the following vulnerability has been resolved: iomap: fix invalid folio access when i_blkbits differs from I/O granularity Commit aa35dd5cbc06 ("iomap: fix invalid folio access after folio_end_read()") partially addressed invalid folio access for folios without an ifs attached, but it did not handle the case where 1 << inode->i_blkbits matches the folio size but is different from the granularity used for the IO, which means IO can be submitted for less than the full folio for the !ifs case. In this case, the condition: if (*bytes_submitted == folio_len) ctx->cur_folio = NULL; in iomap_read_folio_iter() will not invalidate ctx->cur_folio, and iomap_read_end() will still be called on the folio even though the IO helper owns it and will finish the read on it. Fix this by unconditionally invalidating ctx->cur_folio for the !ifs case.

CriticalCVSS 9.8Not KEV-listedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

A Linux kernel iomap read-path bug can leave a folio referenced after the I/O helper has taken ownership, creating invalid memory access. It occurs when filesystem block size matches folio size but differs from I/O granularity. Impact could be severe, but supplied sources do not establish a practical remote attack path, affected filesystems, or exploitation in the wild.

Executive priority

Urgent verification and scheduled remediation are warranted because this is kernel memory-safety behavior with a supplied critical score. Escalate to emergency patching where an affected build and reachable iomap workload are confirmed. For other systems, obtain distributor guidance quickly; current evidence does not justify claiming widespread remote exploitation.

Technical view

During iomap_read_folio_iter(), partial-folio I/O in the no-ifs path may leave ctx->cur_folio set. iomap_read_end() can then act on a folio whose completion is owned by the I/O helper. The fix unconditionally clears ctx->cur_folio for that path. Supplied metadata identifies Linux 6.19-era releases as affected, but its flattened version bounds are ambiguous; confirm distributor mappings.

Likely exposure

Potentially exposed systems run affected Linux 6.19-series kernels and exercise the specific iomap read configuration. The bundle does not name distributions, filesystems, default configurations, cloud images, or appliances. It also contains unusual flattened version data around 6.19.11 and 7.0, so confirm package-level exposure with the relevant Linux distributor.

Exploitation context

KEV status is false, and no supplied source reports active exploitation, public proof-of-concept code, or a demonstrated remote attack chain. Although the supplied CVSS 9.8 vector indicates network-accessible, low-complexity, unauthenticated exploitation, the technical record does not explain how an external attacker reaches the faulty kernel path. Treat that gap as uncertainty, not proof of safety.

Researcher notes

The record describes a lifetime or ownership error in the no-ifs iomap read path, corrected by unconditional current-folio invalidation. No CWE, affected filesystem list, trigger provenance, crash signature, or exploit demonstration is supplied. The CVSS network vector is not reconciled with the code-level description, and version normalization is unclear; downstream advisories remain essential evidence.

Mitigation direction

  • Inventory deployed Linux kernel versions, including distribution package and backport identifiers.
  • Prioritize a supported kernel update containing the referenced fix; confirm the exact fixed build with your distributor.
  • Reboot systems into the updated kernel and avoid continued operational use of vulnerable kernel builds.
  • If updating is delayed, request vendor-supported mitigations; none are identified in the supplied sources.

Validation and detection

  • Compare each running kernel's source or package changelog against the two referenced stable commits.
  • Verify the no-ifs iomap path unconditionally clears ctx->cur_folio before read-end handling.
  • Confirm whether affected workloads use iomap reads where block size and I/O granularity differ.
  • Review kernel crash telemetry for iomap-related invalid folio access; absence of crashes does not establish non-exposure.
  • Recheck distributor advisories because the supplied version bounds are ambiguous.
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-31463 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
Critical
CVSS
9.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

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.

1CVSS vectors
3Timeline events
0ADP providers
3Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.8CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H3.95.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

9.8Critical
CVSS 3.1 vector shape for CVE-2026-31463Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

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
LinuxLinuxb2f35ac4146d32d4424aaa941bbc681f12c1b9e6, b2f35ac4146d32d4424aaa941bbc681f12c1b9e6unaffected
LinuxLinux6.19, 0, 6.19.11, 7.0affected
Weakness

CWE details

No CWE listed

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