{"id":"CVE-2026-98470","kind":"vulnerability","aliases":["CVE-2026-98470"],"related":[],"title":"Linux KVM on arm64: unknown VM ioctl triggers kernel WARN, panics pKVM hosts","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: arm64: Don't WARN on an unknown VM ioctl in protected mode\n\nkvm_pkvm_ioctl_allowed() WARNs when kvm_get_cap_for_kvm_ioctl() doesn't\nfind the ioctl number in vm_ioctl_caps[], and kvm_arch_vm_ioctl() calls\nit for every number the generic code doesn't handle, so\nioctl(vm_fd, 0xdeadbeef) from userspace taints a pKVM host and panics it\nunder panic_on_warn. The lookup is fed userspace input: return false,\nand userspace gets the -EINVAL kvm_arch_vm_ioctl() returns for that\nnumber on a host without pKVM.","summary":"On arm64 Linux hosts running in protected KVM (pKVM) mode, an unrecognized VM ioctl from userspace makes the kernel emit a WARN, which taints the host and panics it when panic_on_warn is set. The result is a denial of service by a local user who can issue ioctls on a VM file descriptor, not code execution.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["arm64","kvm","linux-kernel","pkvm","runtime"],"not_affected_if":["non-pkvm","panic-on-warn-disabled","x86-host"],"how_to_check":"- unknown","fix":"- Update to a Linux kernel release that includes the upstream commit resolving this CVE (fixed version not stated in the source)\n- Until patched, leave `panic_on_warn` at `0` on pKVM hosts","status":"open","published_at":"2026-10-18T16:16:57+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:26:02+00:00","updated_at":"2026-10-25T05:26:02+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T05:26:02Z","model":"claude-haiku-5-5","output":{"fix":"- Update to a Linux kernel release that includes the upstream commit resolving this CVE (fixed version not stated in the source)\n- Until patched, leave `panic_on_warn` at `0` on pKVM hosts","reach":"local","title":"Linux KVM on arm64: unknown VM ioctl triggers kernel WARN, panics pKVM hosts","impact":"low","summary":"On arm64 Linux hosts running in protected KVM (pKVM) mode, an unrecognized VM ioctl from userspace makes the kernel emit a WARN, which taints the host and panics it when panic_on_warn is set. The result is a denial of service by a local user who can issue ioctls on a VM file descriptor, not code execution.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","arm64","kvm","pkvm"],"confidence":0.6,"needs_auth":"yes","worst_case":"Denial of service: pKVM host kernel taints and panics","analyst_note":"","how_to_check":"- unknown","needs_analyst":false,"not_affected_if":["x86-host","non-pkvm","panic-on-warn-disabled"],"who_is_affected":"Only arm64 hosts running the Linux KVM with protected mode (pKVM) enabled are exposed, since the WARN path is in the pKVM ioctl check. Hosts without pKVM return -EINVAL for the same ioctl and are not affected by the panic. Teams running ordinary arm64 virtualization or x86 KVM hosts can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.00063,"input_tokens":3485,"output_tokens":564,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':15A,18A '-98470':16A,19A '0xdeadbeef':150C 'allow':111C 'arch':132C,178C 'arm64':4A,20B,28B,96C 'call':135C 'cap':116C,129C 'code':83B,142C 'cve':14A,17A 'denial':66B 'descriptor':81B 'doesn':120C,143C 'einval':176C 'emit':46B 'everi':138C 'execut':84B 'fals':171C 'fd':149C 'fed':167C 'file':80B 'find':122C 'follow':90C 'generic':141C 'get':115C,174C 'handl':145C 'host':13A,30B,52B,156C,187C 'input':169C 'ioctl':7A,40B,76B,104C,110C,119C,124C,128C,134C,147C,180C 'issu':75B 'kernel':9A,24B,45B,88C 'kvm':2A,21B,34B,95C,108C,114C,118C,131C,177C 'linux':1A,23B,29B,87C 'linux-kernel':22B 'local':71B 'lookup':165C 'make':43B 'mode':36B,107C 'number':125C,139C,184C 'panic':11A,54B,57B,158C,161C 'pkvm':12A,25B,35B,109C,155C,189C 'protect':33B,106C 'resolv':94C 'result':63B 'return':170C,181C 'run':31B 'runtim':26B 'servic':68B 'set':61B 'taint':50B,153C 'trigger':8A 'unknown':5A,102C 'unrecogn':38B 'user':72B 'userspac':42B,152C,168C,173C 'vm':6A,39B,79B,103C,127C,133C,148C,179C 'vulner':91C 'warn':10A,48B,59B,99C,112C,163C 'without':188C","nicknames":[],"mitigations":[],"who_affected":"Only arm64 hosts running the Linux KVM with protected mode (pKVM) enabled are exposed, since the WARN path is in the pKVM ioctl check. Hosts without pKVM return -EINVAL for the same ioctl and are not affected by the panic. Teams running ordinary arm64 virtualization or x86 KVM hosts can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:16:57+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98470","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98470","severity":null,"published_at":"2026-10-18T16:16:57+00:00","modified_at":"2026-10-19T10:18:57+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","fetched_at":"2026-10-23T22:28:56+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"}