Cloudanix VulnDB

CVE-2023-54172

None

CVSS

—

EPSS

0.2%

Published

Dec 30, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Deploy or start a Linux guest VM on Hyper-V with ConfigVersion 9.3 or later
  2. Kernel detects X86_FEATURE_IBT but hypercall page does not begin with ENDBR64
  3. First hypercall uses indirect call to page entry, triggering IBT exception
  4. 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