Skip to content
Heist/ feed
Back to feed
UnratedFix available

KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2

Type: advisorySources: OSV

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 source

Published 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"
}