CVE-2026-63875: Linux kernel · arm64: tlb: Flush walk cache when unsharing PMD tables
Source GCVE Database
Not known to be exploited · CVSS 7.8 High · fixed in fe93e907b1af03cc229a80aa64a570a103d2b279 : patch Linux kernel soon.
Data as of 26 Oct 2026, 13:47 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in fe93e907b1af03cc229a80aa64a570a103d2b279, dced308d7d6a0de1c09d2058f38f1aaaf5cbb914, d766a49d9b55705c4737cd8bb5d3faa2d31330fd +11
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 19 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
AI-suggested
A fix has been implemented in the Linux kernel to address this issue by modifying the TLB flush logic to properly invalidate the walk cache when unsharing PMD tables. Since no specific patch links or vendor advisories are provided, users should apply the latest Linux kernel updates that include this fix.
Description
In the Linux kernel, the following vulnerability has been resolved: arm64: tlb: Flush walk cache when unsharing PMD tables When huge_pmd_unshare() is called to unshare a PMD table, the tlb_unshare_pmd_ptdesc() function sets tlb->unshared_tables=true but the aarch64 tlb_flush() only checked tlb->freed_tables to determine whether to use TLBF_NONE (vae1is, invalidates walk cache) or TLBF_NOWALKCACHE (vale1is, leaf-only). This caused the stale PMD page table entry to remain in the walk cache after unshare, potentially leading to incorrect page table walks. Fix by including unshared_tables in the check, so that when unsharing tables, TLBF_NONE is used and the walk cache is properly invalidated. Here is the detailed distinction between vae1is and vale1is: | Instruction Combination | Actual Invalidation Scope | | ------------------------ | --------------------------------------------------| | `VAE1IS` + TTL=`0` | All entries at all levels (full invalidation) | | `VAE1IS` + TTL=`2` (L2) | Non-leaf at Level 0/1 + leaf at Level 2 | | `VALE1IS` + TTL=`0` | Leaf entries at all levels (non-leaf not cleared) | | `VALE1IS` + TTL=`2` (L2) | Leaf entry at Level 2 only |
References
- nvd.nist.gov/vuln/detail/CVE-2026-63875 (opens in a new tab)
- git.kernel.org/stable/c/0199c9d57861f17b556b6cba1f765c7cce79745b (opens in a new tab)
- git.kernel.org/stable/c/47490bbb05c8c0e09cc3cfd237d8934ffc340583 (opens in a new tab)
- git.kernel.org/stable/c/48125cd9c55cbe297b59fd1f9bda48b0960bd181 (opens in a new tab)
- git.kernel.org/stable/c/8ca7284da0e67b3e71d90ec17f08286774245ad9 (opens in a new tab)
- git.kernel.org/stable/c/c2ff4764e03e7a8d758352f4aceb8fe1be6ac971 (opens in a new tab)
- git.kernel.org/stable/c/d766a49d9b55705c4737cd8bb5d3faa2d31330fd (opens in a new tab)
- git.kernel.org/stable/c/dced308d7d6a0de1c09d2058f38f1aaaf5cbb914 (opens in a new tab)
- git.kernel.org/stable/c/fe93e907b1af03cc229a80aa64a570a103d2b279 (opens in a new tab)