CVE-2023-54172
NoneCVSS
—
EPSS
0.2%
Published
Dec 30, 2025
CISA due date
—
Cloudanix analysis
Some Linux virtual machines running on newer Microsoft Hyper-V hosts can crash right after starting because of a missing instruction the kernel expects, and updating the Linux kernel prevents the crash.
- Exploitation
- Other
- Attacker needs
- None
- Complexity
- Theoretical
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Misconfiguration
- Remediation
- Patch
- Effort
- Low
- Patch risk
- None
What it actually does
Linux kernel on x86 with Indirect Branch Tracking enabled panics during hypercalls to Hyper-V when the hypercall page lacks an ENDBR64 instruction at its entry point, because hypercalls use an indirect call that violates IBT rules.
Why it matters to the business
Virtual machines hosted on affected Hyper-V versions crash or fail to boot, causing unplanned downtime and loss of availability for workloads running on Linux guests with newer Hyper-V ConfigVersion settings.
How an attack unfolds
An attacker with the ability to trigger hypercalls or simply boot a Linux guest on a vulnerable Hyper-V host causes the kernel to take an IBT violation exception on the first hypercall, resulting in an immediate panic; no special privileges beyond normal guest operation are required.
How to fix it
Upgrade the Linux kernel to a version containing commit 98cccbd0a19a161971bc7f7feb10577adc62c400 or later; alternatively apply the equivalent backport that clears X86_FEATURE_IBT when the hypercall page is missing ENDBR64. Reboot all affected VMs after the kernel update.
How to confirm the fix worked
After patching, confirm the hypercall page starts with ENDBR64 or that the IBT feature bit is cleared in /proc/cpuinfo or via cpuid; attempt a hypercall (e.g., via hv_vmbus or basic Hyper-V tools) and verify the guest remains stable without panic.
Typical attack path
- Deploy or start a Linux guest VM on Hyper-V with ConfigVersion 9.3 or later
- Kernel detects X86_FEATURE_IBT but hypercall page does not begin with ENDBR64
- First hypercall uses indirect call to page entry, triggering IBT exception
- Kernel panics and VM becomes unavailable
How to detect it
Search kernel logs and dmesg for IBT violation exceptions or hypercall-related panics on Hyper-V guests; look for boot failures immediately after enabling IBT-capable Hyper-V ConfigVersions.
What your security team should do
- Prioritize kernel upgrades on all Hyper-V Linux guests within the next maintenance window
- Monitor for kernel panics containing IBT or hypercall references in dmesg and syslog
- Coordinate with Hyper-V administrators to confirm host ConfigVersion and apply the pending Hyper-V ENDBR64 fix when available
The record
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 packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 0 | 6.1.45 |
| Linux | Kernel | 5.18.0 | 6.1.45 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_19 | 0 | 1-150600.13.3.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-64kb | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-zfcpdump | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.84.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel