{"api_version":"1","generated_at":"2026-10-03T10:15:04+00:00","cve":"CVE-2026-90097","urls":{"html":"https://cve.report/CVE-2026-90097","api":"https://cve.report/api/cve/CVE-2026-90097.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-90097","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-90097"},"summary":{"title":"Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nDrivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition\n\nThe VMBus module initialization function, hv_acpi_init(), currently\ndoes nothing when running in the root partition and root is not nested\nin another VM. But the initialization function reports success, so the\nVMBus module is indeed loaded. VMBus functionality is not actually\nneeded, but the VMBus module must be loaded so that hv_vmbus_exists()\ncan answer correctly. Furthermore, the mshv_root dependency on the\nVMBus module is needed as described in the commit message for\n840b740a35bf (\"mshv: Add conditional VMBus dependency\").\n\nLoading the VMBus module without actually initializing it causes\nfailures if the module should later be unloaded. The module unload code\ntries to clean up things that were never initialized, resulting in\nmemory faults and a panic.\n\nFix this by having VMBus module exit function perform the same\ncheck for non-nested root partition, and do nothing in such a\ncase, just like hv_acpi_init().\n\nIn the long run, the code that manages the Hyper-V provided SynIC\nshould be refactored to better coordinate the requirements of\nroot partition scenarios and normal VM scenarios, and to hopefully\nremove the hv_vmbus_exists() dependnecy between mshv_root and\nVMBus modules. Preventing the current unload failure scenario is\nan expediency until such a refactoring is done.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-17 17:17:01","updated_at":"2026-09-17 17:17:01"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/aa17842bbccaeaba7d05c166019d1c96a41bca54","name":"https://git.kernel.org/stable/c/aa17842bbccaeaba7d05c166019d1c96a41bca54","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4c19c302cc577bd6b466f6d8e97971777392c2fa","name":"https://git.kernel.org/stable/c/4c19c302cc577bd6b466f6d8e97971777392c2fa","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cee0d90bceae1dee3bcc70f8d6b2ceb5b87deb42","name":"https://git.kernel.org/stable/c/cee0d90bceae1dee3bcc70f8d6b2ceb5b87deb42","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-90097","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90097","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7e279d78664aa91107ebff4b03eca367967f5908 aa17842bbccaeaba7d05c166019d1c96a41bca54 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7e279d78664aa91107ebff4b03eca367967f5908 4c19c302cc577bd6b466f6d8e97971777392c2fa git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7e279d78664aa91107ebff4b03eca367967f5908 cee0d90bceae1dee3bcc70f8d6b2ceb5b87deb42 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.12","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.52 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.6 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/hv/vmbus_drv.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"aa17842bbccaeaba7d05c166019d1c96a41bca54","status":"affected","version":"7e279d78664aa91107ebff4b03eca367967f5908","versionType":"git"},{"lessThan":"4c19c302cc577bd6b466f6d8e97971777392c2fa","status":"affected","version":"7e279d78664aa91107ebff4b03eca367967f5908","versionType":"git"},{"lessThan":"cee0d90bceae1dee3bcc70f8d6b2ceb5b87deb42","status":"affected","version":"7e279d78664aa91107ebff4b03eca367967f5908","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/hv/vmbus_drv.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.12"},{"lessThan":"5.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.52","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.52","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.6","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"5.12","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nDrivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition\n\nThe VMBus module initialization function, hv_acpi_init(), currently\ndoes nothing when running in the root partition and root is not nested\nin another VM. But the initialization function reports success, so the\nVMBus module is indeed loaded. VMBus functionality is not actually\nneeded, but the VMBus module must be loaded so that hv_vmbus_exists()\ncan answer correctly. Furthermore, the mshv_root dependency on the\nVMBus module is needed as described in the commit message for\n840b740a35bf (\"mshv: Add conditional VMBus dependency\").\n\nLoading the VMBus module without actually initializing it causes\nfailures if the module should later be unloaded. The module unload code\ntries to clean up things that were never initialized, resulting in\nmemory faults and a panic.\n\nFix this by having VMBus module exit function perform the same\ncheck for non-nested root partition, and do nothing in such a\ncase, just like hv_acpi_init().\n\nIn the long run, the code that manages the Hyper-V provided SynIC\nshould be refactored to better coordinate the requirements of\nroot partition scenarios and normal VM scenarios, and to hopefully\nremove the hv_vmbus_exists() dependnecy between mshv_root and\nVMBus modules. Preventing the current unload failure scenario is\nan expediency until such a refactoring is done."}],"providerMetadata":{"dateUpdated":"2026-09-17T16:06:09.529Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/aa17842bbccaeaba7d05c166019d1c96a41bca54"},{"url":"https://git.kernel.org/stable/c/4c19c302cc577bd6b466f6d8e97971777392c2fa"},{"url":"https://git.kernel.org/stable/c/cee0d90bceae1dee3bcc70f8d6b2ceb5b87deb42"}],"title":"Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-90097","datePublished":"2026-09-17T16:06:09.529Z","dateReserved":"2026-09-11T19:38:34.786Z","dateUpdated":"2026-09-17T16:06:09.529Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-17 17:17:01","lastModifiedDate":"2026-09-17 17:17:01","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"90097","Ordinal":"1","Title":"Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested roo","CVE":"CVE-2026-90097","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"90097","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nDrivers: hv: vmbus: Skip VMBus module cleanup for non-nested root partition\n\nThe VMBus module initialization function, hv_acpi_init(), currently\ndoes nothing when running in the root partition and root is not nested\nin another VM. But the initialization function reports success, so the\nVMBus module is indeed loaded. VMBus functionality is not actually\nneeded, but the VMBus module must be loaded so that hv_vmbus_exists()\ncan answer correctly. Furthermore, the mshv_root dependency on the\nVMBus module is needed as described in the commit message for\n840b740a35bf (\"mshv: Add conditional VMBus dependency\").\n\nLoading the VMBus module without actually initializing it causes\nfailures if the module should later be unloaded. The module unload code\ntries to clean up things that were never initialized, resulting in\nmemory faults and a panic.\n\nFix this by having VMBus module exit function perform the same\ncheck for non-nested root partition, and do nothing in such a\ncase, just like hv_acpi_init().\n\nIn the long run, the code that manages the Hyper-V provided SynIC\nshould be refactored to better coordinate the requirements of\nroot partition scenarios and normal VM scenarios, and to hopefully\nremove the hv_vmbus_exists() dependnecy between mshv_root and\nVMBus modules. Preventing the current unload failure scenario is\nan expediency until such a refactoring is done.","Type":"Description","Title":"Drivers: hv: vmbus: Skip VMBus module cleanup for non-nested roo"}]}}}