CVE-2023-54172 (GCVE-0-2023-54172)
Vulnerability from cvelistv5
Published
2025-12-30 12:08
Modified
2025-12-30 12:08
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
x86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction
On hardware that supports Indirect Branch Tracking (IBT), Hyper-V VMs
with ConfigVersion 9.3 or later support IBT in the guest. However,
current versions of Hyper-V have a bug in that there's not an ENDBR64
instruction at the beginning of the hypercall page. Since hypercalls are
made with an indirect call to the hypercall page, all hypercall attempts
fail with an exception and Linux panics.
A Hyper-V fix is in progress to add ENDBR64. But guard against the Linux
panic by clearing X86_FEATURE_IBT if the hypercall page doesn't start
with ENDBR. The VM will boot and run without IBT.
If future Linux 32-bit kernels were to support IBT, additional hypercall
page hackery would be needed to make IBT work for such kernels in a
Hyper-V VM.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"arch/x86/hyperv/hv_init.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "98cccbd0a19a161971bc7f7feb10577adc62c400",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "73626b70b361ddda7c380e52c236aa4f2487c402",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "d5ace2a776442d80674eff9ed42e737f7dd95056",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"arch/x86/hyperv/hv_init.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.4.*",
"status": "unaffected",
"version": "6.4.10",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.45",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.4.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.5",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction\n\nOn hardware that supports Indirect Branch Tracking (IBT), Hyper-V VMs\nwith ConfigVersion 9.3 or later support IBT in the guest. However,\ncurrent versions of Hyper-V have a bug in that there\u0027s not an ENDBR64\ninstruction at the beginning of the hypercall page. Since hypercalls are\nmade with an indirect call to the hypercall page, all hypercall attempts\nfail with an exception and Linux panics.\n\nA Hyper-V fix is in progress to add ENDBR64. But guard against the Linux\npanic by clearing X86_FEATURE_IBT if the hypercall page doesn\u0027t start\nwith ENDBR. The VM will boot and run without IBT.\n\nIf future Linux 32-bit kernels were to support IBT, additional hypercall\npage hackery would be needed to make IBT work for such kernels in a\nHyper-V VM."
}
],
"providerMetadata": {
"dateUpdated": "2025-12-30T12:08:46.146Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/98cccbd0a19a161971bc7f7feb10577adc62c400"
},
{
"url": "https://git.kernel.org/stable/c/73626b70b361ddda7c380e52c236aa4f2487c402"
},
{
"url": "https://git.kernel.org/stable/c/d5ace2a776442d80674eff9ed42e737f7dd95056"
}
],
"title": "x86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-54172",
"datePublished": "2025-12-30T12:08:46.146Z",
"dateReserved": "2025-12-30T12:06:44.496Z",
"dateUpdated": "2025-12-30T12:08:46.146Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2023-54172\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T13:16:05.050\",\"lastModified\":\"2025-12-30T13:16:05.050\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction\\n\\nOn hardware that supports Indirect Branch Tracking (IBT), Hyper-V VMs\\nwith ConfigVersion 9.3 or later support IBT in the guest. However,\\ncurrent versions of Hyper-V have a bug in that there\u0027s not an ENDBR64\\ninstruction at the beginning of the hypercall page. Since hypercalls are\\nmade with an indirect call to the hypercall page, all hypercall attempts\\nfail with an exception and Linux panics.\\n\\nA Hyper-V fix is in progress to add ENDBR64. But guard against the Linux\\npanic by clearing X86_FEATURE_IBT if the hypercall page doesn\u0027t start\\nwith ENDBR. The VM will boot and run without IBT.\\n\\nIf future Linux 32-bit kernels were to support IBT, additional hypercall\\npage hackery would be needed to make IBT work for such kernels in a\\nHyper-V VM.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/73626b70b361ddda7c380e52c236aa4f2487c402\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/98cccbd0a19a161971bc7f7feb10577adc62c400\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d5ace2a776442d80674eff9ed42e737f7dd95056\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…