KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2 pkvm_init_features_from_host() takes KVM_ARCH_FLAG_GUEST_HAS_SVE and KVM_ARM_VCPU_SVE from the host separately, but pkvm_vcpu_init_sve() tests the bit while vcpu_has_sve() reads the flag. A host that sets the flag without the bit gets a vCPU with a NULL sve_state that the world switch loads the guest's SVE state from. Derive the flag from the bit, and drop the protected path's copy of the host's flag, which is dead code since protected VMs are not allowed SVE.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.18.55, 7.2.9
- CVEs
- CVE-2026-98928
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 00:29 UTC · Revision 1
Source evidence
KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
core-osv · Original sourcePublished 23 Oct 2026, 12:08 UTC
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2 pkvm_init_features_from_host() takes KVM_ARCH_FLAG_GUEST_HAS_SVE and KVM_ARM_VCPU_SVE from the host separately, but pkvm_vcpu_init_sve() tests the bit while vcpu_has_sve() reads the flag. A host that sets the flag without the bit gets a vCPU with a NULL sve_state that the world switch loads the guest's SVE state from. Derive the flag from the bit, and drop the protected path's copy of the host's flag, which is dead code since protected VMs are not allowed SVE.
osv:CVE-2026-98928
Kernel
Fixed versions: 6.18.55, 7.2.9
Complete source record
{
"id": "f58400d0dc6f63900e2ade712f67e548ad93b0aa2a9019538e0c236a5c21f92f",
"url": "https://osv.dev/vulnerability/CVE-2026-98928",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2",
"summary": "In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2 pkvm_init_features_from_host() takes KVM_ARCH_FLAG_GUEST_HAS_SVE and KVM_ARM_VCPU_SVE from the host separately, but pkvm_vcpu_init_sve() tests the bit while vcpu_has_sve() reads the flag. A host that sets the flag without the bit gets a vCPU with a NULL sve_state that the world switch loads the guest's SVE state from. Derive the flag from the bit, and drop the protected path's copy of the host's flag, which is dead code since protected VMs are not allowed SVE.",
"evidence": "osv:CVE-2026-98928",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.18.55",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.9",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98928",
"aliases": [
"CVE-2026-98928"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "41d6028e28bd474298ff10409c292ec46cf43a90"
},
{
"fixed": "4efda204087145d40a84344edec7e9d3885ad3ab"
},
{
"fixed": "7b5e99d286747b6b5b583b8efcd06bdbdd94b229"
},
{
"fixed": "4f16c5fc8dc4c5596e3777ab9f449a54e3f85fd5"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98928.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.14.0"
},
{
"fixed": "6.18.55"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.9"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98928.json"
}
}
],
"modified": "2026-10-28T02:30:52.150319264Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/4efda204087145d40a84344edec7e9d3885ad3ab",
"https://git.kernel.org/stable/c/4f16c5fc8dc4c5596e3777ab9f449a54e3f85fd5",
"https://git.kernel.org/stable/c/7b5e99d286747b6b5b583b8efcd06bdbdd94b229",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98928.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98928",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98928.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98928",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 520977,
"published_at": "2026-10-23T12:08:09.412+00:00"
}