Skip to main content

Linux Kernel EUVDEUVD-2026-86833

| CVE-2026-97525 HIGH
2026-09-25 Linux GHSA-89c6-7qg8-m7m4
8.2
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local privileged kernel access
  2. Delivery
    Trigger large-page split via CPA (__split_large_page)
  3. Exploit
    Split PTE freed without IOTLB flush
  4. Execution
    Stale IOTLB entry retained for kernel page table
  5. Persist
    Device/SVA uses stale mapping to repurposed memory
  6. Impact
    Kernel memory corruption or crash

Vulnerability Assessment

Exploitation Conditions

Requires an affected x86 Linux kernel (6.18.7 through 6.18.53, or 6.19) that includes the deferred-kernel-page-table-freeing behavior from commit 5ba2f0a15564 and the SVA IOTLB-invalidation behavior from e37d5a2d60a3. The stale-IOTLB consequence only becomes harmful when an IOMMU with SVA (shared virtual addressing over kernel address space) is active on the platform, and the split path must be exercised by privileged memory-attribute changes (CPA / set_memory_* operations). Limiting factors: local access only, high privilege needed to drive CPA splits, IOMMU/SVA must be configured, a timing/reuse window between free and stale-entry use is required, and only a narrow band of very recent kernels is vulnerable.

Impact

This is a Linux kernel x86/mm/pat memory-management correctness bug: when the CPA (change-page-attributes) code splits a large page via __split_large_page(), the split PTE is allocated directly rather than through pte_alloc_one_kernel(), so the page table is never marked as a kernel page table. Because of commit 5ba2f0a15564 (deferred freeing) and e37d5a2d60a3 (IOTLB invalidation for kernel page tables), these unmarked split tables are freed WITHOUT IOTLB invalidation, leaving stale IOTLB entries for kernel address space. The input CVSS 3.1 vector (AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H = 8.2) reads as full-impact local privileged, but the description describes an internal coherence defect triggered by ordinary privileged memory operations, not an attacker-driven primitive - realistic impact is stale device/IOMMU mappings that most plausibly cause corruption or crashes (DoS-dominant), with confidentiality/integrity secondary and speculative. No EPSS score, no CISA KEV listing, and no public POC are provided, and there is no assigned CWE. SSVC-style read: exploitation none-observed, not automatable, technical impact partial-at-best from an attacker standpoint. Net: high-CVSS on paper but low real-world offensive priority - it is fundamentally a reliability/hardening fix gated on IOMMU/SVA usage and very recent kernels. The 'Information Disclosure' tag conflicts with the actual defect class (stale IOTLB → corruption/DoS), which should be verified.

Exploit ScenarioDerived

On an x86 host running an affected kernel (6.18.7-6.18.53 or 6.19) with an IOMMU and SVA in use, a privileged operation that changes memory attributes causes CPA to split a large page; the split page table is later freed without IOTLB invalidation. A device sharing kernel address space then uses a stale IOTLB entry pointing at a page table that has been freed and repurposed, leading to memory corruption or a crash. No public exploit is identified and there is no evidence of active exploitation.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

A memory-management correctness defect in the Linux kernel's x86 page-attribute code (arch/x86/mm/pat) causes split page tables to be allocated outside the normal kernel page-table path, so they are never marked as kernel page tables and their associated IOTLB entries are not invalidated when the tables are freed. Exploitation requires local, high-privileged access on an affected kernel (the 6.18.7 through 6.18.53 band or 6.19) that also runs an IOMMU with shared virtual addressing (SVA), plus a timing/reuse window in which a stale IOTLB entry is actually consumed; the independent assessment rates the realistic impact as negligible confidentiality impact, limited integrity impact and possible availability impact (CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H), materially below the 8.2 vendor-published vector. There is no public exploit identified at time of analysis and the flaw is not confirmed actively exploited (CISA KEV), while vendor-released fixes are available in Linux 6.18.53, 7.2.7 and 7.3-rc4.

RemediationAI

Vendor-released patch: upgrade to Linux 6.18.53 (from the affected 6.18.7-6.18.52 band), 7.2.7, or 7.3-rc4, or apply the referenced upstream stable commits 922873cf4fc34124215070a8ad391bf831538bb9, 9e4a3ec3411bb6bb59e3c1f29b75609f1e87aac4 or 84e0cd79d57f06b872154eb5d8f610584133f260 as listed at https://git.kernel.org/stable/c/922873cf4fc34124215070a8ad391bf831538bb9, https://git.kernel.org/stable/c/9e4a3ec3411bb6bb59e3c1f29b75609f1e87aac4 and https://git.kernel.org/stable/c/84e0cd79d57f06b872154eb5d8f610584133f260; downstream distributions should take their kernel update once the fix is backported, since presence of commit 5ba2f0a15564 plus e37d5a2d60a3 can make a vendor kernel vulnerable even outside the nominal version range. If upgrading is not immediately possible, the stale-IOTLB consequence can be removed by preventing SVA on kernel page tables from being used - disabling the IOMMU at boot (intel_iommu=off or amd_iommu=off) or disabling SVA for devices that request it - but this forfeits DMA remapping isolation and breaks device SVM/ATS functionality such as some accelerator and GPU workloads, so it should be scoped to hosts with a strong local-privilege boundary. Because the trigger path is a privileged CPA/set_memory_* operation, restricting local access to root-equivalent capabilities (module loading, kexec, /dev/mem, BPF with write primitives) reduces the attack surface but does not eliminate an already-privileged local attacker; the page-table accounting and /proc/vmstat nr_page_table_pages discrepancies described in the advisory are benign and require no separate mitigation. No vendor-released patch is missing here: the fix is available and the primary action is prompt kernel upgrade.

Affected VersionsENISA

Linux 5ba2f0a1556479638ac11a3c201421f5515e89f5 <922873cf4fc34124215070a8ad391bf831538bb9
Linux patch: 6.18.53
Linux patch: 0
Linux patch: 7.3-rc4
Linux b3039c526f3e1744db0cbb7ae1f0213f5e27d3f4 <84e0cd79d57f06b872154eb5d8f610584133f260
Linux 5ba2f0a1556479638ac11a3c201421f5515e89f5 <9e4a3ec3411bb6bb59e3c1f29b75609f1e87aac4
Linux 6.18.7 <6.18.53
Linux 6.19
Linux patch: 7.2.7

Affected Packages

euvd linux fix: 6.18.53

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The bug lives in the x86 change-page-attributes (CPA) machinery used by set_memory_*() and related APIs to alter page permissions and cache attributes. When CPA must change the attributes of part of a large page, __split_large_page() breaks the large mapping into smaller ones and allocates a new PTE page. That allocation was done directly instead of through the standard kernel page-table allocator pte_alloc_one_kernel(), so two things were skipped: the page-table constructor __pagetable_ctor()/__folio_set_pgtable() never ran (the folio is not flagged PG_table and lruvec_stat_add_folio() statistics are never updated), and, far more importantly, ptdesc_set_kernel() was never called, so the page table is not tagged as a kernel page table. That distinction became security-relevant with commit 5ba2f0a15564 ("mm: introduce deferred freeing for kernel page tables") plus commit e37d5a2d60a3 ("iommu/sva: invalidate stale IOTLB entries for kernel address space"), which together batch kernel page-table frees and flush IOTLB entries only for tables recognized as kernel page tables. Because split page tables were never marked as such, freeing them silently skipped the invalidation step, potentially leaving stale IOTLB entries mapping kernel address space. The upstream fix allocates the split page table through the ordinary PTE allocation API, conditionally invoking pagetable_dtor_free() when the PG_table folio flag is set and otherwise pagetable_free(), so split page tables now follow the kernel path through pagetable_free_kernel(). No CWE identifier is supplied in the source data; the root-cause class is improper resource allocation and lifecycle management (a page table created outside the mandated constructor/allocator path), with a secondary accounting/statistics inconsistency. Affected-product identification rests on the generic CPE cpe:2.3:a:linux:linux, i.e. the mainline Linux kernel rather than a specific distribution package.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 8.2 HIGH
AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 4.7 MEDIUM

Local, privileged CPA operation plus IOMMU/SVA config and a free-reuse timing window (AC:H, PR:H); impact is corruption/crash (A:H, I:L) with no clear confidentiality effect.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:P/PR:H/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE 6.4 MEDIUM
AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 15:22 NVD
8.2 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:21 cve.org
HIGH 8.2
CVE Published
Sep 25, 2026 - 10:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

x86/mm/pat: Allocate split page tables as kernel page tables

A PTE is allocated directly without going through the standard page table allocation routines (such as pte_alloc_one_kernel()) when the CPA code splits a large page (__split_large_page()).

This means the page table constructor is never called nor is the page table marked as a kernel page table.

The former results in the folio associated with the page table not being marked as a page table (__pagetable_ctor() is never called thus neither is __folio_set_pgtable()) nor are statistics updated to reflect it (lruvec_stat_add_folio() is never called).

The latter issue of failing to mark the page table as a kernel page table (ptdesc_set_kernel() is never called) is far more problematic.

Since commit:

5ba2f0a15564 ("mm: introduce deferred freeing for kernel page tables")

kernel page table freeing has been batched and since the subsequent commit:

e37d5a2d60a3 ("iommu/sva: invalidate stale IOTLB entries for kernel address space")

IOTLB cache entries for kernel page tables have been invalidated upon being freed.

Since split page tables are freed without this invalidation, the IOTLB can contain stale entries for them.

Resolve the issue by using the ordinary PTE allocation API at split time.

This results in these kernel page tables invoking a page table constructor, and thus requires a page table destructor.

Destructors are not always present, like for early allocated direct map page tables). Conditionally call pagetable_dtor_free() if the PG_table folio flag for the ptdesc is set, otherwise we free the page table via pagetable_free().

Regardless of which path is taken page tables marked as kernel page tables, which now includes split page tables, take the correct route through pagetable_free_kernel().

There is a user-visible side effect in that split page tables will appear in nr_page_table_pages in /proc/vmstat (as do other kernel page tables allocated after early boot), however this is a positive change.

This issue started being markedly problematic after commit:

5ba2f0a15564 ("mm: introduce deferred freeing for kernel page tables")

so choose this as the Fixes target.

[ dhansen: rephrase in imperative mood ]

Executive ViewAI

Why It Matters

A memory-management defect in the Linux kernel’s x86 page-attribute code affects systems running kernels 6.18.7 through 6.18.53 or 6.19 with IOMMU shared virtual addressing enabled. Exploitation requires authenticated local access with high privileges and a narrow timing/reuse window, with realistic outcomes limited to limited integrity and possible availability effects rather than broad compromise; no public exploit identified at time of analysis. Leadership should care because affected virtualization, container, and high-performance server estates may face availability risk until vendor fixes are deployed.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
Linux kernel is ubiquitous, but only recent 6.18.7+/6.19 kernels are affected
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy