CVE-2024-45817
NoneCVSS
—
EPSS
0.5%
Published
Sep 25, 2024
CISA due date
—
Cloudanix analysis
A bug in virtualization software can freeze the entire server when certain hardware errors occur, stopping all running virtual machines.
- Exploitation
- Other
- Attacker needs
- Other
- Complexity
- Theoretical
- Impact
- Other
- Component
- OS kernel
- Class
- Other
- Remediation
- Other
- Effort
- Other
- Patch risk
- Other
What it actually does
A deadlock occurs in the Xen hypervisor's vlapic_error function due to attempting to acquire a lock recursively when handling APIC error interrupts configured with illegal vectors.
Why it matters to the business
This vulnerability can cause the Xen hypervisor to become unresponsive, leading to denial of service for all virtual machines running on the affected host and potential disruption to critical workloads.
How an attack unfolds
An attacker with control over a guest VM configures the APIC error interrupt with an illegal vector, which triggers an error condition that leads to recursive locking and deadlock in the hypervisor.
How to fix it
Apply the latest Xen security patches addressing recursive locking in APIC error interrupt handling; test in staging environments before production rollout.
How to confirm the fix worked
Confirm updated Xen version post-patch, reproduce APIC error conditions in isolated test setups to verify absence of deadlock, and review hypervisor logs for lock contention warnings.
Typical attack path
- Obtain control within a guest virtual machine
- Configure the APIC error interrupt vector to an illegal value
- Trigger an APIC error condition to initiate recursion in error handling
- Induce recursive lock acquisition resulting in hypervisor deadlock
How to detect it
Monitor hypervisor logs for repeated vlapic_error entries or deadlock indicators; watch for sudden VM unresponsiveness or host crashes correlated with interrupt activity.
What your security team should do
- Prioritize patching all Xen hosts to the fixed release
- Implement guest isolation policies limiting APIC configuration access
- Enable enhanced logging for APIC and interrupt handling events
- Schedule regular hypervisor health checks and VM failover testing
The record
In x86's APIC (Advanced Programmable Interrupt Controller) architecture, error conditions are reported in a status register. Furthermore, the OS can opt to receive an interrupt when a new error occurs. It is possible to configure the error interrupt with an illegal vector, which generates an error when an error interrupt is raised. This case causes Xen to recurse through vlapic_error(). The recursion itself is bounded; errors accumulate in the the status register and only generate an interrupt when a new status bit becomes set. However, the lock protecting this state in Xen will try to be taken recursively, and deadlock.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.17 | xen | 0 | 4.16.6-r2 |
| Alpine:v3.18 | xen | 0 | 4.17.5-r1 |
| Alpine:v3.19 | xen | 0 | 4.18.3-r0 |
| Alpine:v3.20 | xen | 0 | 4.18.3-r0 |
| Alpine:v3.21 | xen | 0 | 4.19.0-r0 |
| Alpine:v3.22 | xen | 0 | 4.19.0-r0 |
| Debian:11 | xen | 0 | No fix |
| Debian:12 | xen | 0 | No fix |
| Debian:12 | xen | 0 | 4.17.5+23-ga4e5191dc0-1 |
| Debian:13 | xen | 0 | No fix |
| Debian:13 | xen | 0 | 4.19.1-1 |
| Mageia:9 | xen | 0 | 4.17.5-1.git20251028.1.mga9 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | xen | 0 | 4.13.5_16-150200.3.99.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise Micro 5.1 | xen | 0 | 4.14.6_20-150300.3.81.1 |
| SUSE:Linux Enterprise Micro 5.2 | xen | 0 | 4.14.6_20-150300.3.81.1 |
| SUSE:Linux Enterprise Micro 5.3 | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise Micro 5.4 | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise Micro 5.5 | xen | 0 | 4.17.5_04-150500.3.39.1 |
| SUSE:Linux Enterprise Micro 5.5 | xen | 0 | 4.17.5_06-150500.3.42.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | xen | 0 | 4.17.5_04-150500.3.39.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | xen | 0 | 4.17.5_06-150500.3.42.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | xen | 0 | 4.18.3_06-150600.3.12.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | xen | 0 | 4.18.3_04-150600.3.9.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP5 | xen | 0 | 4.17.5_04-150500.3.39.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP5 | xen | 0 | 4.17.5_06-150500.3.42.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | xen | 0 | 4.18.3_06-150600.3.12.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | xen | 0 | 4.18.3_04-150600.3.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | xen | 0 | 4.12.4_54-3.118.1 |
| SUSE:Linux Enterprise Server 12 SP5 | xen | 0 | 4.12.4_56-3.121.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | xen | 0 | 4.13.5_16-150200.3.99.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | xen | 0 | 4.12.4_54-3.118.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | xen | 0 | 4.12.4_56-3.121.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | xen | 0 | 4.13.5_16-150200.3.99.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | xen | 0 | 4.12.4_54-3.118.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | xen | 0 | 4.12.4_56-3.121.1 |
| SUSE:Manager Proxy 4.3 | xen | 0 | 4.16.6_04-150400.4.62.1 |
| SUSE:Manager Server 4.3 | xen | 0 | 4.16.6_04-150400.4.62.1 |
| Ubuntu:16.04:LTS | xen | 0 | No fix |
| Ubuntu:18.04:LTS | xen | 0 | No fix |
| Ubuntu:20.04:LTS | xen | 0 | No fix |
| Ubuntu:22.04:LTS | xen | 0 | No fix |
| Ubuntu:24.04:LTS | xen | 0 | No fix |
| Ubuntu:24.10 | xen | 0 | No fix |
| Ubuntu:25.04 | xen | 0 | No fix |
| Ubuntu:25.10 | xen | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xen | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xen | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | xen | 0 | No fix |
| openSUSE:Leap 15.5 | xen | 0 | 4.17.5_04-150500.3.39.1 |
| openSUSE:Leap 15.5 | xen | 0 | 4.17.5_06-150500.3.42.1 |
| openSUSE:Leap 15.6 | xen | 0 | 4.18.3_06-150600.3.12.1 |
| openSUSE:Leap 15.6 | xen | 0 | 4.18.3_04-150600.3.9.1 |
| openSUSE:Leap Micro 5.5 | xen | 0 | 4.17.5_04-150500.3.39.1 |
| openSUSE:Leap Micro 5.5 | xen | 0 | 4.17.5_06-150500.3.42.1 |
| openSUSE:Tumbleweed | xen | 0 | 4.19.0_04-1.1 |
Related vulnerabilities
- CVE-2024-2201 A cross-privilege Spectre v2 vulnerability allows attackers to bypass all deployed… Also affects xen
- CVE-2024-45818 The hypervisor contains code to accelerate VGA memory accesses for HVM guests, when the… Also affects xen
- CVE-2024-45819 PVH guests have their ACPI tables constructed by the toolstack. Also affects xen
- CVE-2024-31145 Certain PCI devices in a system might be assigned Reserved Memory Regions (specified via… Also affects xen
- CVE-2024-2193 A Speculative Race Condition (SRC) vulnerability that impacts modern CPU architectures… Also affects xen
- CVE-2023-28746 Information exposure through microarchitectural state after transient execution from some… Also affects xen
- CVE-2022-27672 When SMT is enabled, certain AMD processors may speculatively execute instructions using… Also affects xen
- CVE-2019-11135 TSX Asynchronous Abort condition on some CPUs utilizing speculative execution may allow… Also affects xen