{"id":"CVE-2026-98928","kind":"vulnerability","aliases":["CVE-2026-98928"],"related":[],"title":"Linux kernel KVM arm64: SVE flag mismatch can crash protected guests","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2\n\npkvm_init_features_from_host() takes KVM_ARCH_FLAG_GUEST_HAS_SVE and\nKVM_ARM_VCPU_SVE from the host separately, but pkvm_vcpu_init_sve()\ntests the bit while vcpu_has_sve() reads the flag. A host that sets the\nflag without the bit gets a vCPU with a NULL sve_state that the world\nswitch loads the guest's SVE state from.\n\nDerive the flag from the bit, and drop the protected path's copy of the\nhost's flag, which is dead code since protected VMs are not allowed SVE.","summary":"In the Linux kernel's arm64 KVM, a host can set the guest SVE flag without the matching feature bit, leaving a vCPU with a NULL SVE state. The world switch then loads guest SVE state from that null pointer.","severity":"unknown","cvss":null,"epss":0.00206,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["arm64","kvm","linux-kernel","runtime"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-23T13:17:13+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:58:12+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"runtime","confidence":0.4,"triage":{"at":"2026-10-25T04:58:12Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel KVM arm64: SVE flag mismatch can crash protected guests","impact":"medium","summary":"In the Linux kernel's arm64 KVM, a host can set the guest SVE flag without the matching feature bit, leaving a vCPU with a NULL SVE state. The world switch then loads guest SVE state from that null pointer.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","arm64","kvm"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown; a null state dereference in the kernel is possible","analyst_note":"Find the fixed kernel versions and the affected range from the NVD entry or the upstream stable commit; the sources give no version or severity.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"Hosts running arm64 Linux with KVM and protected VMs (pKVM) are the systems that would see this path. The sources do not say which kernel versions are affected or which configurations trigger it, so the exact exposure is unknown.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.00056,"input_tokens":3484,"output_tokens":424,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98928':14A,17A 'allow':178C 'arch':94C 'arm':101C 'arm64':4A,18B,29B,75C 'bit':43B,84C,115C,131C,156C 'code':172C 'copi':163C 'crash':9A 'cve':12A,15A 'dead':171C 'deriv':76C,151C 'drop':158C 'el2':86C 'featur':42B,83C,89C 'flag':6A,38B,95C,122C,128C,153C,168C 'follow':69C 'get':132C 'guest':11A,36B,57B,77C,96C,146C 'host':32B,91C,106C,124C,166C 'init':88C,111C 'kernel':2A,22B,27B,67C 'kvm':3A,19B,30B,74C,93C,100C 'leav':44B 'linux':1A,21B,26B,66C 'linux-kernel':20B 'load':56B,144C 'match':41B 'mismatch':7A 'null':49B,62B,137C 'path':161C 'pkvm':87C,109C 'pointer':63B 'protect':10A,160C,174C 'read':120C 'resolv':73C 'runtim':23B 'separ':107C 'set':34B,126C 'sinc':173C 'state':51B,59B,139C,149C 'sve':5A,37B,50B,58B,79C,82C,98C,103C,112C,119C,138C,148C,179C 'switch':54B,143C 'take':92C 'test':113C 'vcpu':46B,102C,110C,117C,134C 'vms':175C 'vulner':70C 'without':39B,129C 'world':53B,142C","nicknames":[],"mitigations":[],"who_affected":"Hosts running arm64 Linux with KVM and protected VMs (pKVM) are the systems that would see this path. The sources do not say which kernel versions are affected or which configurations trigger it, so the exact exposure is unknown.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:13+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98928","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98928","severity":null,"published_at":"2026-10-23T13:17:13+00:00","modified_at":"2026-10-23T13:17:13+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-98928","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-98928","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:50+00:00","fetched_at":"2026-10-25T12:38:50+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}