Skip to content
Fencer Intel
high 8.8

CVE-2026-63941 json

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

published 3mo ago modified 20d ago also EUVD-2026-45714

cvss
8.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.1%
EPSS 0.1% chance of exploitation in 30 days, percentile 4%
public exploits
0
none known

Summary

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()]

Patch / fix

  • Linux Linux 6.18.57, 7.0.12, 7.1
  • linux Debian 14 7.0.12-1

debian advisories DEBIAN-CVE-2026-63941

  • linux Ubuntu 26.04 LTS 7.0.0-28.28
  • linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
  • linux-gcp Ubuntu 26.04 LTS 7.0.0-1008.8
  • linux-gke Ubuntu 26.04 LTS 7.0.0-1003.4
  • linux-ibm Ubuntu 26.04 LTS 7.0.0-1010.10
  • linux-azure Ubuntu 26.04 LTS 7.0.0-1010.10
  • linux-raspi Ubuntu 26.04 LTS 7.0.0-1015.15
  • linux-riscv Ubuntu 26.04 LTS 7.0.0-28.28.1

ubuntu advisories UBUNTU-CVE-2026-63941

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel-rt Linux Micro 6.2 6.12.0-160000.38.1
  • kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
  • kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
  • kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.38.1
  • kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1.160000.2.23
  • kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
  • kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.38.1
  • kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.38.1

suse advisories SUSE-SU-2026:23887-1SUSE-SU-2026:23902-1SUSE-SU-2026:23897-1SUSE-SU-2026:23881-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.38.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-azure openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.38.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.38.1

opensuse advisories openSUSE-SU-2026:21910-1

Is CVE-2026-63941 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-63941 updated cvss 7.0

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

  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
26d ago

Exploit prediction

0.15% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-11).

CVSS scores

assigned by version score vector
CNA 3.1 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected products

  • Linux Linux

Classification

Weakness
Technology feeds

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.