CVE-2026-99258
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: x86/hyperv: Avoid using per-cpu output page in hv_apicid_to_vp_index() hv_apicid_to_vp_index() currently uses the per-cpu hypercall input and output pages. This function is called when running in VTL2 and when running in an SEV-SNP CoCo VM with no paravisor. In the former case, the output page is allocated, but in the latter case it is not, so the hypervisor stores the output VP index in memory that has not been allocated by the guest. Fix this by using the input page for both input and output. The hypercall has very small input and output, so sharing the same page for both is straightforward. An alternative fix is to allocate the per-cpu output page when running in an SEV-SNP CoCo guest, but this uses significantly more memory, particularly with larger vCPUs counts.
View original CVE JSON
{
"id": "CVE-2026-99258",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-11-03T12:17:32.713",
"lastModified": "2026-11-03T12:17:32.713",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/hyperv: Avoid using per-cpu output page in hv_apicid_to_vp_index()\n\nhv_apicid_to_vp_index() currently uses the per-cpu hypercall input\nand output pages. This function is called when running in VTL2 and\nwhen running in an SEV-SNP CoCo VM with no paravisor. In the former\ncase, the output page is allocated, but in the latter case it is\nnot, so the hypervisor stores the output VP index in memory that has\nnot been allocated by the guest.\n\nFix this by using the input page for both input and output. The\nhypercall has very small input and output, so sharing the same\npage for both is straightforward. An alternative fix is to\nallocate the per-cpu output page when running in an SEV-SNP CoCo\nguest, but this uses significantly more memory, particularly\nwith larger vCPUs counts."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"arch/x86/hyperv/hv_init.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3d12349ade541eefde0e71bf5c4aa7aa04c52a79",
"lessThan": "bdba5f1b8bd0d18b1df61f769b559ed272902489",
"versionType": "git",
"status": "affected"
},
{
"version": "86c48271e0d60c82665e9fd61277002391efcef7",
"lessThan": "2b561786c9076a892ef8b8f416c9828bc87ed44f",
"versionType": "git",
"status": "affected"
},
{
"version": "86c48271e0d60c82665e9fd61277002391efcef7",
"lessThan": "bc8ca0f4769627ae7d04e7ffdbd20de4f27a9bf9",
"versionType": "git",
"status": "affected"
},
{
"version": "86c48271e0d60c82665e9fd61277002391efcef7",
"lessThan": "7b74c117e2aac78e0f723e1c9c3644451c56b0d9",
"versionType": "git",
"status": "affected"
},
{
"version": "cb002d6c8f06d6061e84b2109cb84416107a9fb9",
"versionType": "git",
"status": "affected"
},
{
"version": "6.12.41",
"lessThan": "6.12.115",
"versionType": "semver",
"status": "affected"
},
{
"version": "6.15.3",
"lessThan": "6.16",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"arch/x86/hyperv/hv_init.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.16",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.115",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.59",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.13",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/2b561786c9076a892ef8b8f416c9828bc87ed44f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7b74c117e2aac78e0f723e1c9c3644451c56b0d9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bc8ca0f4769627ae7d04e7ffdbd20de4f27a9bf9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bdba5f1b8bd0d18b1df61f769b559ed272902489",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}