CVE-2024-45818 json
Deadlock in x86 HVM standard VGA handling
published 2024-12-19 22 mo ago modified 2026-06-17 4 mo ago also EUVD-2024-41272
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
The hypervisor contains code to accelerate VGA memory accesses for HVM guests, when the (virtual) VGA is in "standard" mode. Locking involved there has an unusual discipline, leaving a lock acquired past the return from the function that acquired it. This behavior results in a problem when emulating an instruction with two memory accesses, both of which touch VGA memory (plus some further constraints which aren't relevant here). When emulating the 2nd access, the lock that is already being held would be attempted to be re-acquired, resulting in a deadlock.
This deadlock was already found when the code was first introduced, but was analysed incorrectly and the fix was incomplete. Analysis in light of the new finding cannot find a way to make the existing locking discipline work.
In staging, this logic has all been removed because it was discovered to be accidentally disabled since Xen 4.7. Therefore, we are fixing the locking problem by backporting the removal of most of the feature. Note that even with the feature disabled, the lock would still be acquired for any accesses to the VGA MMIO region.
Patch / fix
- xen xen 4.20.0
- xen Debian 12 4.17.5+23-ga4e5191dc0-1
- xen Debian 14, Debian 13 4.19.1-1
debian advisories DEBIAN-CVE-2024-45818
- xen SLE Module for Server Applications 15 SP6, SLE Module for Basesystem 15 SP6, openSUSE Leap 15.6 4.18.3_06-150600.3.12.1
- xen SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Micro 5.4 +5 more 4.16.6_06-150400.4.65.1
- xen SLE Module for Server Applications 15 SP5, SLE Module for Basesystem 15 SP5, SLE Micro 5.5 +2 more 4.17.5_06-150500.3.42.1
- xen SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Micro 5.2 +3 more 4.14.6_22-150300.3.84.1
- xen SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLE High Performance Computing 15 SP2-LTSS 4.13.5_16-150200.3.99.1
- xen SLES LTSS Extended Security 12 SP5, SLES 12 SP5-LTSS 4.12.4_58-3.124.1
suse advisories SUSE-SU-2024:4163-1SUSE-SU-2024:4116-1SUSE-SU-2024:4073-1SUSE-SU-2024:3980-1SUSE-SU-2024:3979-1SUSE-SU-2024:3977-1
- xen openSUSE Tumbleweed 4.19.0_06-1.1
opensuse advisories openSUSE-SU-2024:14530-1
- xen Alpine 3.17 4.16.6-r3
- xen Alpine 3.18 4.17.5-r2
- xen Alpine 3.20, Alpine 3.19 4.18.3-r2
- xen Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 4.19.0-r1
alpine advisories ALPINE-CVE-2024-45818
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-45818 updated cvss 6.5
xen: Deadlock in x86 HVM standard VGA handling
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 22 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 6.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
Affected products
- Xen Xen
Classification
- Weakness
-
- CWE-667 Improper Locking
References
-
xenbits.xenproject.org
/xsa/advisory-463.html
patch, vendor-advisory
-
openwall.com
/lists/oss-security/2024/11/12/2
patch, third-party-advisory
-
xenbits.xen.org
/xsa/advisory-463.html
patch, vendor-advisory
Sources
- CVE List CVE-2024-45818
- NVD CVE-2024-45818
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.