Skip to main content

Linux Kernel CVE-2026-63941

| EUVDEUVD-2026-45714 HIGH
Improper Input Validation (CWE-20)
2026-07-19 Linux GHSA-9mxh-6wp4-9v6p
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Gain control of L2/nested guest hypervisor
  2. Delivery
    Set VL cap via untrapped ZCR_EL1
  3. Exploit
    Trigger SVE context restore
  4. Execution
    Uncapped ZCR_EL2 written to hardware
  5. Impact
    Access vector lengths beyond policy limit

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Requires the host to be arm64 with SVE support, running KVM with nested virtualization enabled, and the attacker must control a VHE guest hypervisor (L1) that manipulates the vector-length cap via the ZCR_EL1 alias instead of the trapping ZCR_EL2 register. Limiting factors: exploitation is local (AV:L) and requires guest-hypervisor privilege (PR:L, i.e. authenticated within the virtualization stack), no user interaction, and - critically - a non-default, uncommon deployment (arm64 KVM nested virt + SVE). On hosts without SVE, without nested virtualization, or on non-arm64 architectures the code path is unreachable, so this is not exploitable against default or typical KVM configurations.

Impact

The input CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, base 8.8) rates this High, driven largely by the scope change (S:C) crossing the guest/hypervisor boundary and full C/I/A impact. That impact profile appears inflated relative to the described behavior: the vendor tags this 'Information Disclosure' and the described effect is an L2 guest gaining access to vector lengths it should not - a confinement breach, not clearly a full-integrity or availability compromise. EPSS is low (0.19%, 9th percentile), there is no KEV listing and no POC referenced, and the vulnerable code path (KVM arm64 with nested virtualization AND SVE) is a narrow, emerging configuration. Net: a legitimate correctness/security fix worth patching in the normal stable-kernel cadence, but not an emergency - real-world exploitability is gated by a rare deployment scenario rather than the raw 8.8 score. Note the conflict to verify: CVSS marks C:H/I:H/A:H with S:C, while the description and vendor tag point to information disclosure only; treat the high impact metrics with skepticism pending vendor clarification.

Exploit ScenarioDerived

An attacker who controls a guest hypervisor (L1) on a vulnerable arm64 SVE host programs the vector-length cap through the untrapped ZCR_EL1 accessor rather than ZCR_EL2, then launches or resumes an L2 guest. On SVE context restore the un-sanitized value is written to the physical ZCR_EL2, letting the L2 guest use vector lengths beyond its intended limit and access SVE register state it should not. No public POC is referenced, and exploitation requires the attacker to already run privileged code inside a nested-virtualization stack.

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 – Jul 20, 2026

Improper vector-length capping in the Linux kernel's KVM arm64 SVE handling lets a nested (L2) guest under a VHE guest hypervisor access Scalable Vector Extension vector lengths beyond its configured limit. When a guest hypervisor updates ZCR_EL2 indirectly via the untrapped ZCR_EL1 accessor, KVM restores the raw value into the physical ZCR_EL2 without capping, breaking the vector-length confinement policy. There is no public exploit identified at time of analysis, and the EPSS probability is low (0.19%, 9th percentile); a vendor fix is available via the stable git tree.

RemediationAI

Upstream fix available (stable git commits); a released patched tag should be confirmed against your distribution. Apply the stable-tree commits 742a9b5ccd8c46caf983ca90c94f855466968e34 and 83726330748981372bde86ed5411d7b306612991 (https://git.kernel.org/stable/c/742a9b5ccd8c46caf983ca90c94f855466968e34 and https://git.kernel.org/stable/c/83726330748981372bde86ed5411d7b306612991), or install the fixed kernel package from your distribution once it ships these backports. As a compensating control until patched, avoid enabling KVM nested virtualization on affected arm64 SVE hosts (do not expose EL2 to guests), which fully removes the attack surface at the cost of losing nested-virt functionality; where nested virt is required, restrict which tenants may run guest hypervisors, since the trade-off is operational rather than a code change. Given local access and guest privilege are prerequisites, tightening who can run untrusted nested-virt workloads meaningfully reduces exposure.

Affected VersionsENISA

Linux b3d29a8230998b36afecf494b199211d26052785 <83726330748981372bde86ed5411d7b306612991
Linux b3d29a8230998b36afecf494b199211d26052785 <742a9b5ccd8c46caf983ca90c94f855466968e34
Linux patch: 7.1
Linux 6.11
Linux patch: 0
Linux patch: 7.0.12

Affected Packages

euvd linux no fix

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 flaw lives in KVM's Armv8 nested-virtualization (NV) support for the Scalable Vector Extension (SVE). On CPUs with SVE, ZCR_EL2.LEN caps the maximum vector length usable at EL2/EL1. A VHE guest hypervisor can program this either through ZCR_EL2 (which traps to KVM, where LEN was immediately capped to the VM's own VL limit) or through the aliased ZCR_EL1 (which does not trap and was previously ignored). When restoring the SVE context for an L2 guest, KVM wrote the guest hypervisor's stored ZCR_EL2 view straight into hardware; a value set via the untrapped ZCR_EL1 path was never sanitized, so the physical register could allow wider VLs than policy permits. The affected product per CPE is the Linux kernel (cpe:2.3:a:linux:linux). No CWE was assigned, but the root cause is an improper enforcement of an intended state/resource restriction (a state-confinement / improper input-validation class bug) combined with a non-stateful register field; the fix moves VL capping to the restore points and makes ZCR_EL2 a sanitised register where only LEN is stateful.

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.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 2.8 LOW

Local guest-hypervisor privilege (AV:L/PR:L); AC:H due to required arm64 SVE nested-virt configuration; scope crosses VM boundary (S:C) with information-disclosure-only impact (C:L, I/A:N).

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Jul 20, 2026 - 15:22 NVD
8.8 (HIGH)
Patch available
Jul 19, 2026 - 17:19 EUVD
CVE Published
Jul 19, 2026 - 14:55 cve.org
HIGH 8.8
CVE Published
Jul 19, 2026 - 14:55 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

KVM: arm64: Correctly cap ZCR_EL2 provided by a guest hypervisor

ZCR_EL2 can be updated by a VHE guest hypervisor either using ZCR_EL2 (which traps) or ZCR_EL1 (which does not trap). KVM handles both in different way:

  • on ZCR_EL2 trap, ZCR_EL2.LEN is immediately capped at the VM's own

VL limit. This has the potential to break existing SW that relies on the full LEN field to be stateful.

  • on ZCR_EL1 access, we do absolutely nothing.

On restoring the SVE context for an L2 guest, we directly restore the guest hypervisor's view of ZCR_EL2 into the physical ZCR_EL2. If the guest's view of the register was updated using the ZCR_EL2 accessor, the value has already been sanitised (with the caveat mentioned above).

But if the guest used ZCR_EL1, the raw value is written into the HW, and the L2 guest can now access VLs that it shouldn't.

Fix all the above by moving the VL capping to the restore points, ensuring that:

  • the HW is always programmed with a capped value, irrespective of

the accessor being used,

  • the ZCR_EL2.LEN field is always completely stateful, irrespective

of the accessor being used.

Additionally, move ZCR_EL2 to be a sanitised register, ensuring that only the LEN field is actually stateful. This requires some creative construction of the RES0 mask, as the sysreg generation script does not yet generate RAZ/WI fields.

[maz: rewrote commit message, tidy up access_zcr_el2()]

Executive ViewAI

Why It Matters

A flaw in Linux kernel's KVM hypervisor could allow isolated guest systems to exceed their allocated computational resource boundaries in nested virtualization environments, potentially impacting workload performance and isolation guarantees. Organizations operating nested virtual machine configurations, particularly on ARM-based infrastructure, should prioritize assessment of their exposure, though exploitation remains unlikely with no public exploit identified at time of analysis. Vendor remediation is available and can be deployed immediately for affected environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
Linux kernel ubiquitous, but arm64 KVM nested-virt SVE path rarely deployed
Data Quality
5 sources
Confidence: Medium

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
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

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