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

arm64: mm: Fix the lockless page-table walk in show_pte()

show_pte() walks page tables locklessly and can run with interrupts
enabled. A concurrent teardown can free a table page while it is being
walked. It can also clear a parent entry after show_pte() checked it; the
regular pXd_offset() helpers then reread the cleared entry and can derive a
bogus lower-level pointer and fault again.

Use the lockless offset helpers with the saved parent entries, as
gup_fast() does, and pass the saved PMD to pte_offset_map().

For task page tables, arm64 selects MMU_GATHER_RCU_TABLE_FREE. Disable
local interrupts around the walk to hold off RCU-deferred table frees and
block the tlb_remove_table_sync_one() IPI until the walk is finished.

Place the IRQ guard after the header print. This does not make the output a
consistent snapshot, but prevents the task page-table walk from
dereferencing a released table page or deriving a pointer from a different
parent value.
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption; potential privilege escalation.
Action: Apply patch
AI Analysis

Impact

The arm64 kernel function show_pte() walks page tables without proper locking and while interrupts are enabled. A concurrent teardown can free a table page that show_pte is accessing, or a parent table entry can be cleared after show_pte has checked it, allowing page‑table helpers to compute a bogus lower‑level pointer and trigger a fault. This race condition enables a use‑after‑free that can corrupt kernel memory, potentially allowing an attacker to subvert kernel integrity or execute privileged code.

Affected Systems

All arm64 Linux kernel builds that include the vulnerable show_pte implementation are affected, regardless of version. The issue exists in any kernel that contains the original lockless page‑table walk logic; only builds that incorporate the post‑commit patch in the arm64/mm area are safe.

Risk and Exploitability

EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. There is no known public exploit, and the race condition requires a local situation where a process can trigger a page‑table teardown concurrently with a show_pte walk, which typically implies kernel‑mode or privileged execution. While the exploitation difficulty is uncertain, the potential for arbitrary kernel memory corruption makes the vulnerability high‑impact if successfully exploited. The absence of a malicious sample reduces the immediate threat, but the possibility of privilege escalation remains.

Generated by OpenCVE AI on September 25, 2026 at 11:10 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that contains the patch for the arm64 show_pte function.
  • Reboot the system after the kernel upgrade to ensure the patch takes effect.
  • If a kernel upgrade is not immediately possible, temporarily disable local interrupts around any code that performs lockless page‑table walks in arm64 and ensure RCU‑deferred table frees are held off until the walk completes.

Generated by OpenCVE AI on September 25, 2026 at 11:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Thu, 24 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: arm64: mm: Fix the lockless page-table walk in show_pte() show_pte() walks page tables locklessly and can run with interrupts enabled. A concurrent teardown can free a table page while it is being walked. It can also clear a parent entry after show_pte() checked it; the regular pXd_offset() helpers then reread the cleared entry and can derive a bogus lower-level pointer and fault again. Use the lockless offset helpers with the saved parent entries, as gup_fast() does, and pass the saved PMD to pte_offset_map(). For task page tables, arm64 selects MMU_GATHER_RCU_TABLE_FREE. Disable local interrupts around the walk to hold off RCU-deferred table frees and block the tlb_remove_table_sync_one() IPI until the walk is finished. Place the IRQ guard after the header print. This does not make the output a consistent snapshot, but prevents the task page-table walk from dereferencing a released table page or deriving a pointer from a different parent value.
Title arm64: mm: Fix the lockless page-table walk in show_pte()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-24T15:34:27.219Z

Reserved: 2026-09-17T16:02:15.095Z

Link: CVE-2026-93239

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:19.690

Modified: 2026-09-24T16:17:19.690

Link: CVE-2026-93239

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T11:15:05Z

Weaknesses

No weakness.