CVE-2026-98638 KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()

Not scored Published Updated

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.

Is CVE-2026-98638 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free