CVE-2026-98638 KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()
A missing validation in KVM arm64 allows a privileged user to trigger a fatal kernel warning, causing a denial of service.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-98638?
CVE-2026-98638 is a denial of service vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()
pkvm_vcpu_init_sve() clamps only the upper bound of the host-provided sve_max_vl, so an invalid vector length reaches sve_state_size_from_vl() and the WARN_ON() there, which is fatal at EL2. The existing !sve_state_size test rejects such a length, but only after the macro has run.
Check sve_vl_valid() before deriving the state size. A valid length cannot yield a zero size, so the !sve_state_size test goes with it.
Which versions are affected by CVE-2026-98638?
How do I fix CVE-2026-98638?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-98638 being exploited?
There is no known exploitation of CVE-2026-98638 in the wild and no public exploit code.
Sources
Also known as BELL-CVE-2026-98638, DEBIAN-CVE-2026-98638, GHSA-jqwq-p3w6-jffx, UBUNTU-CVE-2026-98638.