Linux: Always-Incorrect Control Flow Implementation
CVE-2026-63875 is a high-severity always-incorrect control flow implementation vulnerability in Linux, with a CVSS 3.1 base score of 7.8 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions dced308d7d6a0de1c09d2058f38f1aaaf5cbb914, 47490bbb05c8c0e09cc3cfd237d8934ffc340583, 0199c9d57861f17b556b6cba1f765c7cce79745b as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.18% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to dced308d7d6a0de1c09d2058f38f1aaaf5cbb914 or 47490bbb05c8c0e09cc3cfd237d8934ffc340583 or 0199c9d57861f17b556b6cba1f765c7cce79745b or d766a49d9b55705c4737cd8bb5d3faa2d31330fd, whichever matches your release line, or a later version.
- Update Linux Kernel to 5.10.259 or 5.15.210 or 6.1.176 or 6.6.143, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | 6495204f8219a57859669d618b25d06176d5a872 up to, but not including, dced308d7d6a0de1c09d2058f38f1aaaf5cbb914; ce4cf24761467756462c0e1dbe4a5e9c9eb520fc up to, but not including, 47490bbb05c8c0e09cc3cfd237d8934ffc340583; daa6707b71a2da23a82979fa21f788aeb706f1a2 up to, but not including, 0199c9d57861f17b556b6cba1f765c7cce79745b; ff37dd18ce7739a26aab0cc2d31006a45e6bde63 up to, but not including, d766a49d9b55705c4737cd8bb5d3faa2d31330fd; da06bb0ca45b1ca6f1ab55023e34e61a520337f3 up to, but not including, 8ca7284da0e67b3e71d90ec17f08286774245ad9; 9b671f6f432be07c0ddd66e437d6d0e0db684f83 up to, but not including, fe93e907b1af03cc229a80aa64a570a103d2b279; 8ce720d5bd91e9dc16db3604aa4b1bf76770a9a1 up to, but not including, 48125cd9c55cbe297b59fd1f9bda48b0960bd181; 8ce720d5bd91e9dc16db3604aa4b1bf76770a9a1 up to, but not including, c2ff4764e03e7a8d758352f4aceb8fe1be6ac971; and 7 more ranges | dced308d7d6a0de1c09d2058f38f1aaaf5cbb914, 47490bbb05c8c0e09cc3cfd237d8934ffc340583, 0199c9d57861f17b556b6cba1f765c7cce79745b, d766a49d9b55705c4737cd8bb5d3faa2d31330fd, 8ca7284da0e67b3e71d90ec17f08286774245ad9, fe93e907b1af03cc229a80aa64a570a103d2b279 |
| Linux | Linux Kernel | 5.10.253 up to, but not including, 5.10.259; 5.15.203 up to, but not including, 5.15.210; 6.1.167 up to, but not including, 6.1.176; 6.6.127 up to, but not including, 6.6.143; 6.12.74 up to, but not including, 6.12.93; 6.18.13 up to, but not including, 6.18.35; 6.19.1 up to, but not including, 7.0.12; 6.19; and 1 more ranges | 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.93, 6.18.35 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by CNA.
Official 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 |
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Always-Incorrect Control Flow Implementation
The code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated.
More Always-Incorrect Control Flow Implementation vulnerabilities (CWE-670)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- git.kernel.org/stable/c/0199c9d57861f17b556b6cba1f765c7cce79745b
- git.kernel.org/stable/c/47490bbb05c8c0e09cc3cfd237d8934ffc340583
- git.kernel.org/stable/c/48125cd9c55cbe297b59fd1f9bda48b0960bd181
- git.kernel.org/stable/c/8ca7284da0e67b3e71d90ec17f08286774245ad9
- git.kernel.org/stable/c/c2ff4764e03e7a8d758352f4aceb8fe1be6ac971
- git.kernel.org/stable/c/d766a49d9b55705c4737cd8bb5d3faa2d31330fd
- git.kernel.org/stable/c/dced308d7d6a0de1c09d2058f38f1aaaf5cbb914
- git.kernel.org/stable/c/fe93e907b1af03cc229a80aa64a570a103d2b279
Recent Always-Incorrect Control Flow Implementation vulnerabilities
- 9.1 Critical severity
- 7.3 High severity
- 7.5 High severity
- 8.1 High severity
- 7.5 High severity
- 7.5 High severity
Spotted an error? Tell us.