{"id":"CVE-2026-98465","kind":"vulnerability","aliases":["CVE-2026-98465"],"related":[],"title":"Linux kernel RISC-V KVM: race lets an IMSIC attribute access another vCPU's interrupt file","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nRISC-V: KVM: Serialize IMSIC attributes with vCPU migration\n\nKVM device ioctls are not serialized against KVM_RUN. As a result,\nkvm_riscv_aia_imsic_rw_attr() can snapshot the physical CPU and HGEI of\nan IMSIC VS-file before a concurrent vCPU migration releases it.\n\nThe HGEI can then be allocated to another vCPU before imsic_vsfile_rw()\nuses the stale tuple. A GET or SET attribute may consequently access the\nnew owner's interrupt file.\n\nSerialize the entire IMSIC attribute operation with the target vCPU\nmutex. This prevents the VS-file from being migrated and recycled until\nthe attribute access completes. Acquire the mutex killably so that the\ndevice ioctl remains interruptible while waiting for KVM_RUN to finish.","summary":"A race in the Linux kernel's RISC-V KVM code lets a device ioctl read or write the interrupt file of a different virtual CPU after a concurrent vCPU migration recycles it. The sources describe the bug and its fix, but do not state an attacker's achievable impact.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["hypervisor","kvm","linux-kernel","risc-v","runtime"],"not_affected_if":["no-riscv-kvm","x86-or-arm-hosts"],"how_to_check":"- unknown","fix":"- Update the Linux kernel to a release that includes the upstream commit serializing IMSIC attribute access with the vCPU mutex; the sources do not name a version.","status":"open","published_at":"2026-10-18T16:16:56+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:27:09+00:00","updated_at":"2026-10-25T05:27:09+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T05:27:09Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release that includes the upstream commit serializing IMSIC attribute access with the vCPU mutex; the sources do not name a version.","reach":"local","title":"Linux kernel RISC-V KVM: race lets an IMSIC attribute access another vCPU's interrupt file","impact":"medium","summary":"A race in the Linux kernel's RISC-V KVM code lets a device ioctl read or write the interrupt file of a different virtual CPU after a concurrent vCPU migration recycles it. The sources describe the bug and its fix, but do not state an attacker's achievable impact.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","risc-v","kvm","hypervisor"],"confidence":0.6,"needs_auth":"unknown","worst_case":"unknown; cross-VM interrupt file access is possible per the sources","analyst_note":"Check the NVD entry and the linked upstream kernel commit for the affected version range, the fixed kernel versions, and whether the flaw allows reading or writing guest data.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["x86-or-arm-hosts","no-riscv-kvm"],"who_is_affected":"Hosts running the Linux kernel with RISC-V KVM and an in-kernel AIA/IMSIC interrupt controller for virtual machines are the ones in scope. Systems without RISC-V KVM virtualization, and non-RISC-V hosts, are not affected by this bug.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000635,"input_tokens":3529,"output_tokens":564,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':19A,22A '-98465':20A,23A 'access':12A,166C,198C 'achiev':82B 'acquir':200C 'aia':118C 'alloc':147C 'anoth':13A,149C 'attack':80B 'attr':121C 'attribut':11A,100C,163C,177C,197C 'bug':71B 'code':44B 'complet':199C 'concurr':62B,137C 'consequ':165C 'cpu':59B,126C 'cve':18A,21A 'describ':69B 'devic':47B,105C,207C 'differ':57B 'entir':175C 'file':17A,54B,134C,172C,189C 'finish':217C 'fix':74B 'follow':89C 'get':160C 'hgei':128C,143C 'hypervisor':24B 'impact':83B 'imsic':10A,99C,119C,131C,152C,176C 'interrupt':16A,53B,171C,210C 'ioctl':48B,106C,208C 'kernel':2A,28B,38B,87C 'killabl':203C 'kvm':6A,25B,43B,97C,104C,111C,116C,214C 'let':8A,45B 'linux':1A,27B,37B,86C 'linux-kernel':26B 'may':164C 'migrat':64B,103C,139C,192C 'mutex':183C,202C 'new':168C 'oper':178C 'owner':169C 'physic':125C 'prevent':185C 'race':7A,34B 'read':49B 'recycl':65B,194C 'releas':140C 'remain':209C 'resolv':93C 'result':115C 'risc':4A,30B,41B,95C 'risc-v':3A,29B,40B,94C 'riscv':117C 'run':112C,215C 'runtim':32B 'rw':120C,154C 'serial':98C,109C,173C 'set':162C 'snapshot':123C 'sourc':68B 'stale':157C 'state':78B 'target':181C 'tupl':158C 'use':155C 'v':5A,31B,42B,96C 'vcpu':14A,63B,102C,138C,150C,182C 'virtual':58B 'vs':133C,188C 'vs-file':132C,187C 'vsfile':153C 'vulner':90C 'wait':212C 'write':51B","nicknames":[],"mitigations":[],"who_affected":"Hosts running the Linux kernel with RISC-V KVM and an in-kernel AIA/IMSIC interrupt controller for virtual machines are the ones in scope. Systems without RISC-V KVM virtualization, and non-RISC-V hosts, are not affected by this bug.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:16:56+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98465","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98465","severity":null,"published_at":"2026-10-18T16:16:56+00:00","modified_at":"2026-10-21T13:21:31+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"}