CVE-2023-54172

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux991625f3dd2cbc4b787deb0213e2bcf8fa264b21 < 98cccbd0a19a161971bc7f7feb10577adc62c400affected
LinuxLinux991625f3dd2cbc4b787deb0213e2bcf8fa264b21 < 73626b70b361ddda7c380e52c236aa4f2487c402affected
LinuxLinux991625f3dd2cbc4b787deb0213e2bcf8fa264b21 < d5ace2a776442d80674eff9ed42e737f7dd95056affected
LinuxLinux5.18affected
LinuxLinux0 < 5.18unaffected
LinuxLinux6.1.45 <= 6.1.*unaffected
LinuxLinux6.4.10 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References